git pull
用法:
git pull <远程主机名> <远程分支名>:<本地分支名>
常用写法:
1. 全路径
git pull origin master:master
取回远程主机的master分支 与本地的master分支合并
2.省略本地分支
git pull origin master
取回远程主机名origin的master分支, 并与本地的当前分支合并
实质上,这等同于先做git fetch,再做git merge
git fetch origin
git merge origin/master
3. 省略远程分支名
在某些场合,Git会自动在本地分支与远程分支之间,建立一种追踪关系(tracking)。比如,在git clone的时候,所有本地分支默认与远程主机的同名分支,建立追踪关系,也就是说,本地的master分支自动"追踪"origin/master分支。
Git也允许手动建立追踪关系。
git branch --set-upstream dev origin/dev
上面命令指定dev分支追踪origin/dev分支。
如果当前分支与远程分支存在追踪关系,git pull就可以省略远程分支名。
$ git pull origin
上面命令表示,本地的当前分支自动与对应的origin主机"追踪分支"(remote-tracking branch)进行合并。
4. 省略主机名
如果当前分支只有一个追踪分支,连远程主机名都可以省略。
git pull
git push
用法:
git push <远程主机名> <本地分支名>:<远程分支名>
将<本地的分支> 推送到 <远程主机名> 的远程分支
常用写法:
1. 省略远程分支
git push origin master
将本地的master分支推送到远程主机名origin 的master分支(如果不存在则创建)
2. 省略本地分支
git push origin :master
将本地一个空分支送到远程的maser分支,实际就是删除远程分支 等同于git push origin --delete master
3.省略本地分支和远程分支
git push origin
如果本地分支和远程分支之间存在追踪关系,则本地分支和远程分支都可以省略
(如果报错,则可能需要建立追踪关系 git push --set-upstream origin dev)
留一下一个疑问:如何查看 这个中追踪关系呢? git remote show origin (查看远程主机的详情)
4 省略远程主机名
git push
只和一个远程主机名关联 如:origin
如果当前分支与多个主机存在追踪关系,则可以使用-u选项指定一个默认主机,这样后面就可以不加任何参数使用git push。
$ git push -u origin master
上面命令将本地的master分支推送到origin主机,同时指定origin为默认主机,后面就可以不加任何参数使用git push了。
不带任何参数的git push,默认只推送当前分支,这叫做simple方式。此外,还有一种matching方式,会推送所有有对应的远程分支的本地分支。Git 2.0版本之前,默认采用matching方法,现在改为默认采用simple方式。如果要修改这个设置,可以采用git config命令。
git config --global push.default simple
本文出自 “崔德华运维打工从业路” 博客,请务必保留此出处http://cuidehua.blog.51cto.com/5449828/1813928
原文地址:http://cuidehua.blog.51cto.com/5449828/1813928