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 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 省略遠端主機名
隻和一個遠端主機名關聯 如: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
本文轉自殘劍部落格51CTO部落格,原文連結http://blog.51cto.com/cuidehua/1813928如需轉載請自行聯系原作者
cuizhiliang