即使我修复了合并冲突(保留暂存和移除head),下次从暂存分支合并到master时,也会发生相同的冲突,即使在上次移除head时,被描述为head的代码不再存在于head上。
我不明白的是,如果我选择不让代码更改转移并将它们提交给master,那么为什么,如果我没有将“更改”保留在master上,那么下次我将转移合并到master时它们还会出现吗?登台时的代码如何与不存在的主机上的代码冲突?

最佳答案

可能你遇到了这样的情况:
分支创建后,master上发生了变化。master上的这些更改与在分支上所做的更改冲突,并且
你想保持这些变化,因为他们存在于主人(或至少其中一些人)。因此,每次合并分支时,都会发生相同的冲突,尽管上次解决了这些冲突。
您可以使用git rerere(重新使用录制的分辨率),它将在您解决合并冲突时记录分辨率,并在检测到相同冲突时重新使用该分辨率。要执行此操作,请运行:

git config --global rerere.enabled true

下次遇到合并冲突时,您应该会注意到一行看起来像Recorded preimage for '<filename>',提交冲突解决方案时应该会看到Recorded resolution for '<filename>'
然后,下次合并分支时,git应该说Resolved '<filename>' using previous resolution之类的话,并自动应用上次所做的相同修复。

08-26 21:04
查看更多