我刚刚完成在其自己的分支(分支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