git clone https://*********.git
$ git add test.txt
$ git commit -m "add test.txt"
$ git push origin master
#如果遇到failed to push some refs to错误
#输入:$ git pull --rebase origin master再次输入:$ git push origin master
$ git remote -v
$ git rm test.txt
"""
rm 'test.txt'
"""
$ git commit -m "remove test.txt"
"""
[master d17efd8] remove test.txt
1 file changed, 1 deletion(-)
delete mode 100644 test.txt
"""
$ git checkout -- test.txt
#删除a目录下的2.txt文件
$ git rm -r --cached a/2.txt //
#删除a目录
$ git rm -r --cached a
$ git commit -m "删除a目录下的2.txt文件"
$ git push
注释:用-r参数删除目录, git rm --cached a.txt 删除的是本地仓库中的文件,且本地工作区的文件会保留且不再与远程仓库发生跟踪关系,如果本地仓库中的文件也要删除则用git rm a.txt
1.git pull:获取最新代码到本地,并自动合并到当前分支
//查询当前远程的版本
$ git remote -v
//直接拉取并合并最新代码
$ git pull origin master [示例1:拉取远端origin/master分支并合并到当前分支]
$ git pull origin dev [示例2:拉取远端origin/dev分支并合并到当前分支]
备注:不推荐这种方式,因为是直接合并,无法提前处理冲突。 2.git fetch + merge: 获取最新代码到本地,然后手动合并分支 2.1.额外建立本地分支
//查看当前远程的版本
$ git remote -v
//获取最新代码到本地临时分支(本地当前分支为[branch],获取的远端的分支为[origin/branch])
$ git fetch origin master:master1 [示例1:在本地建立master1分支,并下载远端的origin/master分支到master1分支中]
$ git fetch origin dev:dev1[示例1:在本地建立dev1分支,并下载远端的origin/dev分支到dev1分支中]
//查看版本差异
$ git diff master1 [示例1:查看本地master1分支与当前分支的版本差异]
$ git diff dev1 [示例2:查看本地dev1分支与当前分支的版本差异]
//合并最新分支到本地分支
$ git merge master1 [示例1:合并本地分支master1到当前分支]
$ git merge dev1 [示例2:合并本地分支dev1到当前分支]
//删除本地临时分支
$ git branch -D master1 [示例1:删除本地分支master1]
$ git branch -D dev1 [示例1:删除本地分支dev1]
备注:不推荐这种方式,还需要额外对临时分支进行处理。 2.2.不额外建立本地分支
//查询当前远程的版本
$ git remote -v
//获取最新代码到本地(本地当前分支为[branch],获取的远端的分支为[origin/branch])
$ git fetch origin master [示例1:获取远端的origin/master分支]
$ git fetch origin dev [示例2:获取远端的origin/dev分支]
//查看版本差异
$ git log -p master..origin/master [示例1:查看本地master与远端origin/master的版本差异]
$ git log -p dev..origin/dev [示例2:查看本地dev与远端origin/dev的版本差异]
//合并最新代码到本地分支
$ git merge origin/master [示例1:合并远端分支origin/master到当前分支]
$ git merge origin/dev [示例2:合并远端分支origin/dev到当前分支]
备注:推荐这种方式
只要一行就行了
$ git config --global core.quotepath false
前后效果对比见图
##更新本地的单个文件 ``` $ git fetch $ git checkout origin/master -- path/to/file ``` ## git 解决fatal: Not a git repository 我用git add file添加文件时出现这样错误: fatal: Not a git repository (or any of the parent directories): .git 提示说没有.git这样一个目录,解决办法如下: git init就可以了
当我们在远程库中对某个文件进行了在线的编辑,并且没有同步到本地库,之后在本地库添加了文件时,并想提交到远程库时,会出现以下错误:error:failed to push some refs to。
解决方案:这个问题是因为远程库与本地库不一致造成的,那么我们把远程库同步到本地库就可以了。 使用指令
git pull --rebase origin master
这条指令的意思是把远程库中的更新合并到本地库中,–rebase的作用是取消掉本地库中刚刚的commit,并把他们接到更新后的版本库之中.
用下面的图来加强我们的理解
git pull –rebase origin master意为先取消commit记录,并且把它们临时 保存为补丁(patch)(这些补丁放到”.git/rebase”目录中),之后同步远程库到本地,最后合并补丁到本地库之中。
接下来就可以把本地库push到远程库当中了。