2013-11-20 32 views
2

可以說我有三個分支,WMF。分支W是我工作的分支,分支M是「主」,分支F是一個早期的修正分支。 W是基於M,F前段時間已合併爲MW已經從M不時同步(合併)。重新合併

喜歡的東西

 
    ,--. branch F 
/ \ 
-+------+--+------+------+------+------ branch M 
      \  \  \  \ 
      `------+------+------+---- branch W 

的問題是,F合併成M後,這些變化在合併錯過了MW。所以現在我想從F合併到W,但git說分支W已經是最新的,在技術上它是,但它仍然缺少來自F的部分。

我怎樣才能重新合併從FW

我想是這樣

 

     ,--+-----------------------------------.  branch F 
    / \         \ 
    / \  ,------+------+------+------+--- branch W 
    /  \ / / / /
---+----------+----+-----+------+------+------------ branch M 

這可能嗎?如果是這樣,怎麼樣?

回答

0

這是一個情況下git cherry-pick會比試圖合併更加容易。

參見「How to cherry pick a range of commits and merge into another branch」。

如果「F」仍引用合併之前提交到M,您可以使用M..F
的範圍內(即所有提交訪問從F,而不是從M)。

git checkout W 
git cherry-pick M..F 
+0

不幸的是,沒有工作,git報告「空提交集合通過」。 –

+0

我也嘗試過'git cherry-pick F',它將'F'中的某些東西合併成一些*但不是全部。 –

+0

@JoachimPileborg奇怪'致命的:空提交集合通過'意味着你通過的提交的範圍是空的(http://git.661346.n2.nabble.com/cherry-pick-revert-error-messages-td7013134i40.html) – VonC