假设我有一个这样的存储库:
I --- C --- M master
\ /
`- A -´ topic
M
合并topic
到master
. _
后来我在 中发现了一个错误,所以我在分支上C
提交了一个修复它的问题,位于:master
M
I --- C --- M --- C1 master
\ /
`- A -´ topic
但理想情况下,我希望历史看起来像这样:
I --- C --- C1 --- M master
\ /
`- A --------´ topic
如何重写历史记录,以便C1
在合并之前出现M
?
我可以删除M
,应用由 制作的补丁C1
,然后再次合并topic
,master
再次解决所有冲突,但我想避免这种努力,我更愿意保留原始提交信息(作者、日期等)如果可能的话,这排除了git commit
再次做的可能性。我希望它是可能的git rebase
,但我失败了,其中一个或两个-p
和-i
。