git本地分支和遠端分支如何關聯
阿新 • • 發佈:2018-12-15
轉自原文地址https://www.jianshu.com/p/d2fc2e212d1a
一、如何把本地新建分支同步到遠端分支上(注:該分支在遠端上沒有)?
二、又如何在本地把遠端分支上新建分支同步到本地(本地沒有該分支)?
1.其實在從遠端分支分出來的分支都是跟蹤分支(track),當對該分支進行push
和pull
時,如果該分支和遠端分支同名git
會知道推送到遠端哪個分支,從哪個遠端分支同步到本地分支。其實每次克隆一個倉庫時,本地新建一個master
分支來track
遠端origin/master
。如果不同名,我們需要人為指定git push origin branch_name
2.如果本地新建了一個分支branch_name
push
和pull
指令就無法確定該跟蹤誰,一般來說我們都會使其跟蹤遠端同名分支,所以可以利用git push --set-upstream origin branch_name
,這樣就可以自動在遠端建立一個branch_name
分支,然後本地分支會track
該分支。後面再對該分支使用push
和pull
就自動同步。無需再指定分支。
3.跟蹤遠端分支
1)如果遠端新建了一個分支,本地沒有該分支,可以用git checkout --track origin/branch_name
,這時候本地會新建一個分支名叫branch_name
,會自動跟蹤遠端的同名分支branch_name
2)用上面中方法,得到的分支名永遠和遠端的分支名一樣,如果想新建一個本地分支不同名字,同時跟蹤一個遠端分支可以利用。
git checkout -b new_branch_name branch_name
,這條指令本來是根據一個branch_name
分支分出一個本地分支new_branch_name
,但是如果所根據的分支branch_name
是一個遠端分支名,那麼本地的分支會自動的track遠端分支。建議跟蹤分支和被跟蹤遠端分支同名。
總結:一般我們就用git push --set-upstream origin branch_name
來在遠端建立一個與本地branch_name
同名的分支並跟蹤;利用git checkout --track origin/branch_name
來在本地建立一個與branch_name
同名分支跟蹤遠端分支。