然而,一个新的开发人员创建了主题分支,在这些分支中,他已经进行了多次将master合并到主题分支以保持它们的最新状态。
A---B---C---D---E topic
/ / /
F---G---H---I master
尽管将此主题分支合并到主分支是完全正确的,但会导致非常混乱的历史记录。我想将这些主题分支转换为干净的线性重新基于历史记录,以便可以使用单个--no-ff
合并提交干净地合并到主分支中,即:
A'---B'---E' topic
/
F---G---H---I master
理想情况下,应该存在一些git-fu可以让我进行rebase,并将主题分支上的提交保持不变,同时自动应用主题合并提交(例如C和D)中已经可用的合并冲突解决信息。
我知道我可以简单地应用“git diff master..topic”补丁,然后使用rebase向后工作并手动将单个补丁拆分为单独的提交,但是否有更简单、更优雅的方法?
我已经尝试了直接使用“git rebase”和“git rebase -p”命令,但没有成功。