2016-12-03 123 views
0

從Linus Torvalds的帖子here中,Linus顯示了一個功能分支,其中A和B提交過早地合併到M中的origin/master ,然後又恢復爲W恢復master分支:(按我的理解),如果都是爲了完成特徵C和d,然後在特性分支合併將失去如何更新分支而不是將分支從早期的不需要的合併更改爲主分支

---o---o---o---M---x---x---W 
      /
---------A---B 

他接着說明A和B的變化是因爲師父在W處擺脫了他們。

所以他建議恢復回覆得到:

---o---o---o---M---x---x---W---x----Y 
      /
---------A---B---C---D 

其中Y是W的回覆,然後合併到特徵分支中。

現在,這一切都很好 - 它是有道理的。

但是,我還沒有準備好將功能分支放入主設備。我儘管希望最新的主變更將它們合併到我的功能分支中。

但是,然後我的功能分支也得到W恢復,撤消A和B在它。

如果我在Y恢復恢復合併到我的分支,那麼我懷疑我的功能分支是可以的,但是然後Master將會有我的功能,我不希望它。

如何在沒有得到恢復W的情況下從主服務器進行更新?

+0

爲什麼你的功能應該對合並掌握一無所知。它應該讓所有主要提交分支點的權限?爲什麼它知道o的? – yelsayed

+0

我認爲你是對的 - 我感到困惑。我會編輯。 – jontyc

+0

您的功能分支不受合併影響。 –

回答

1

截至Torvalds' Howto結束時,他建議

$ git checkout E 
$ git rebase --no-ff P 

產生

A'---B'---C'------------D'---E' <-- recreated topic branch 
/
P---o---o---M---x---x---W---x 
    \  /
    A---B---C----------------D---E 

要確定最好的共同祖先變基上(P),你可以使用git merge-base M~ E 。之後,你可以合併主功能或反之亦然

+0

這很可怕,但它的工作。 – jontyc

相關問題