當我在feature1
上工作時,在下面的提交點A
處,我被要求在其上建立另一個mod。我們稱之爲feature1+
。這意味着該圖是這樣的:在重新綁定之後合併來自類似分支的選定文件
master: o---o---o---o---o
\
feature1: o---e---e---e---O---A
\
feature1+: o---c---c---X
現在我想合併feature1+
放回feature1
,但我知道,在現有和X
是A
最小的文件之間的變化;在c
提交中有兩個新的跟蹤文件。
一路上,我開始合併feature1
的提交,將e
承諾重新劃分爲一個o'
,以最終減少主提交次數。我相信,有效的圖形是這樣的:
master: o---o---o---o---o
\
feature1: o---o'---O---A
\
feature1+: o---e---e---e---O---A---c---c---X
但是,這意味着feature1+
轉儲e
提交到feature1
以及當我運行:
git checkout feature1
git merge feature1+
這給了我:
master: o---o---o---o---o
\
feature1: o---o'---O---A---e---e---e---O---c---c---X
我想在不重新引入e
的情況下添加c
提交。換句話說,將它合併回來:
master: o---o---o---o---o
\
feature1: o---o'---O---A---c---c---X
我該怎麼做?我試過checkout
從c
的新文件,當在feature1
在A,但當然這給了文件沒有保留他們的歷史。