我剛剛完成在其自己的分支(分支feature
)上開發一個新功能,由十幾個提交組成。運行完所有測試後,我將此分支合併到master
,並解決了許多合併衝突。這個過程花了很長時間。只有後我完成了合併我是否意識到我從來沒有重新設置feature
分支中的任何提交,這通常是我的做法。rebase衝突,在git中合併提交
總之,現在我有:
(feature) B-C-D
(master) A-/ \-E (merge commit in master)
但我想有:
F
A-/ \-D
其中F = B + C + d 「壓扁」 在一起。
我要對這個辦法是從master
創建另一個分支master_prime
開始在提交A
。然後,切換到feature
分支並完成我想要的所有提交壓縮。最後,合併feature
到master_prime
。唯一的問題是我必須再次解決所有合併衝突。有沒有一種方法可以重播/挑選合併提交E
,這樣就沒有必要?
我也試圖git rebase --preserve-merges -i <A>
以及git rebase -i <A>
,它們不允許我重新綁定我想要的提交或讓我再次處理合並衝突。
你能否詳細說明使用'git什麼變基--preserve-合併-i '是不是爲你工作?我能夠運行這個確切的命令,並且可以將B,C,D和E用於重建操作。 – joshtkling