1. 程式人生 > >git本地分支和遠端分支如何關聯

git本地分支和遠端分支如何關聯

轉自原文地址https://www.jianshu.com/p/d2fc2e212d1a

一、如何把本地新建分支同步到遠端分支上(注:該分支在遠端上沒有)?
二、又如何在本地把遠端分支上新建分支同步到本地(本地沒有該分支)?

1.其實在從遠端分支分出來的分支都是跟蹤分支(track),當對該分支進行pushpull時,如果該分支和遠端分支同名git會知道推送到遠端哪個分支,從哪個遠端分支同步到本地分支。其實每次克隆一個倉庫時,本地新建一個master分支來track遠端origin/master。如果不同名,我們需要人為指定git push origin branch_name

2.如果本地新建了一個分支branch_name

,但是在遠端沒有,這時候pushpull指令就無法確定該跟蹤誰,一般來說我們都會使其跟蹤遠端同名分支,所以可以利用git push --set-upstream origin branch_name,這樣就可以自動在遠端建立一個branch_name分支,然後本地分支會track該分支。後面再對該分支使用pushpull就自動同步。無需再指定分支。

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同名分支跟蹤遠端分支。