Git - 合并到master中总会产生相同的冲突,即使上次修复也是如此

时间:2015-02-19 11:12:53

标签: git merge

即使我修复了合并冲突(保持登台和删除HEAD),下次我从我的登台分支合并到master时,也会发生相同的冲突,即使HEAD上描述为HEAD的代码不再存在上次删除它。

我不明白,如果我选择保持代码更改不会暂存并将其提交给主人,那么为什么,如果我没有保留主人的“更改”,他们会在下次合并分期时再次出现在掌握?如何将分段上的代码与不存在的主代码冲突?

1 个答案:

答案 0 :(得分:3)

大概你有这样的情况:

  1. 分支制作完成后,主人有变化。 master上的这些更改与已在分支上进行的更改冲突,
  2. 您希望保留master(或至少其中一些)中存在的更改。因此,每次将您的分支合并回相同的冲突时,即使上次解决它们也会发生。
  3. 您可以使用git rerere(重复记录的分辨率),它将在您解决合并冲突时记录分辨率,并在检测到相同冲突时重复使用。为此,请运行:

    git config --global rerere.enabled true
    

    下次出现合并冲突时,您应该注意到一行看起来像Recorded preimage for '<filename>',当您提交冲突解决方案时,您会看到Recorded resolution for '<filename>'

    然后,下次合并你的分支时,git应该说Resolved '<filename>' using previous resolution之类的内容并应用你上次自动修复的相同修复。