2016-12-13 128 views
1

有一個branchA不斷開發和新的提交正在創建。也許20次提交之前,我們創建了一個branchB,該函數本來應該在稍後完成。在這種情況下合併是否合適?

現在,我們開始branchB工作,我應該合併更改從branchAbranchB

如果是,我會在幾天內做同樣的事情嗎?

混亂的根源在於雙方branchAbranchB都在被不斷地開發新的提交所做的事實,所以我不知道,如果合併branchAbranchB每一天都是一個好主意。

回答

1

通常所有開發者都應該sync他們的分支default-branch (normally master)。由於branchAbranchB正在不斷髮展,如果您不需要branchA更改,請不要合併。

branchA功能等做用default-branch(主)合併,拉master支進branchB(會得到branchA變化)。

Rebase:如果您想將branchA頻繁拉入branchB,那麼reabasing將是不錯的選擇。

$ git checkout branchB 
$ git rebase branchA    # keep branchB changes top 
+0

您應該還提到,在此特定示例中,重新綁定branchB是必要的。 – stdcall

+0

@stdcall ok。我添加了rebasing部分。 –

1

我會去:

git checkout branchB 
git rebase branchA 

這將做合併,並把所有提交的branchB對那些branchA製成的頂部。這真是很好地解釋在這裏:https://git-scm.com/book/en/v2/Git-Branching-Rebasing

有一點需要注意,雖然:如果有幾個人在branchB工作,你必須在時間一致,當你在做的底墊,因爲你必須push --force你衍合分支遠程可能導致:

  • 另一個開發者的提交被覆蓋
  • 把一個開發誰在他的地方branchB一些提交陷入了尷尬的局面時(誰在當你在做墊底他們推)試圖pull branchB(重新安裝)從origin。爲了恢復與分支本地提交的同步,必須挑選到新的branchB
相關問題