天天看點

Git branch upstream

一、目标

本博文中git操作的目标為建立本地分支與遠端分支的映射關系(或者為跟蹤關系track)。這樣使用

git pull

或者

git push

時就不必每次都要指定從遠端的哪個分支拉取合并和推送到遠端的哪個分支了。

二、檢視本地分支與遠端分支的映射關系

使用以下指令(注意是雙v):

可以獲得如下資訊:

Git branch upstream

可以看到分支

addFile

沒有和遠端分支建立任何映射,此時若執行如下拉取指令則不成功(因為git此時不知道拉取哪個遠端分支和本地分支合并):

Git branch upstream

同理,若此時執行如下推送指令同樣不成功:

Git branch upstream

二、建立本地分支與遠端分支的映射關系

建立目前分支與遠端分支的映射關系:

git branch -u origin/addFile
           

或者使用指令:

git branch --set-upstream-to origin/addFile
           

得到結果如下:

Git branch upstream

檢視目前本地分支與遠端分支的映射關系結果如下:

Git branch upstream

此時再次拉取,成功資訊如下:

Git branch upstream

再次推送,成功資訊如下:

Git branch upstream

三、撤銷本地分支與遠端分支的映射關系

撤銷本地分支與遠端分支的映射關系

使用

git branch -vv

得到結果如下:

Git branch upstream

可以看到本地分支與遠端分支的映射關系已經撤銷。

四、問題思考:本地分支隻能跟蹤遠端的同名分支嗎?

答案是否定的,本地分支可以與遠端不同名的分支建立映射關系,實驗時分支結構如下:

Git branch upstream

可以使本地分支

addFile

和遠端分支

editFile

建立映射關系:

Git branch upstream

并且此時可以把本地分支

addFile

送出到遠端分支

editFile

分支中去:

Git branch upstream
git