修复合并前发生的提交

时间:2011-12-07 09:28:35

标签: git merge git-rebase

考虑以下历史

R--A--B--C------F--H--D'
 \             /
  -------- D--E

d'是提交D的修正,我想要整合到历史记录中,但git rebase -i不允许我这样做。

我可以通过重置为E,fixup,redo merge和cherry-pick H来手动重新创建历史记录,但它会破坏提交日期并且很麻烦。

我该怎么办?

2 个答案:

答案 0 :(得分:2)

我认为你最好的选择可能就是你所说的:重置,重做合并,樱桃挑选H.要保留旧的提交日期,你应该能够做到这样的事情:

git merge --no-commit my-branch
git commit -C <sha of F>
git cherry-pick <sha of H>

答案 1 :(得分:0)

我必须再次这样做,并尝试--preserve-merges选项git rebase -i,它完美无缺。

无需手动重做合并!