有多种资源会告诉你如何在 git 中恢复分支合并,以防你发现分支中的错误。如果分支未推送到上游,则此类合并之后的步骤将重置/纠正分支/合并中的错误,或者恢复/纠正分支/恢复恢复/合并中的错误。但是,这仅与分支代码中存在错误的情况有关。今天,我尝试恢复由于合并提交中解决冲突的方式而无效的合并。
之前的情况:
master o -- 1 -- C
\ /
branch a -- b
将分支合并到 master 的开发人员在提交 1 中遇到了与其他人实现的代码相关的提交。他解决了冲突并提交了它们,从而创建了一个合并提交“c”。问题是他在这样做时引入了一个错误。我当时想做的是恢复这个合并并正确地重新合并它,创建一个看起来像这样的东西:
master o -- 1 -- C -- ~C -- C1
\ / /
branch a -- b ----------
其中“~C”是还原的“C”,“C1”是正确的合并。不幸的是,我似乎无法做到这一点。
当然重置为 1 并将“分支”重新合并到“主”作品中,但是更改已经在上游,我不想做任何肮脏的把戏。
我在线程中找到的解决方案撤消尚未推送的 Git 合并并没有带我去任何地方。
我得到的最干净的想法是修复“C”中损坏的代码并将它们提交给“master”,但在这种情况下,你不会从 git 获得任何帮助,例如冲突文件列表或突出显示的冲突行,在这种情况下很有帮助。
有任何想法吗?