代码之家  ›  专栏  ›  技术社区  ›  jederik

当两个版本有相同的更改时,使git合并导致冲突

  •  7
  • jederik  · 技术社区  · 7 年前

    假设在git repo中,我有一个包含版本信息的文件:

    version=42
    

    现在,如果在两个单独的分支上,版本将增加到

    version=43
    

    如果合并了这些分支,git的标准合并机制不会产生合并冲突,因为两个版本是相同的(即使合并基础不同)。

    通常这是需要的行为,但在这个文件中,每当两个分支都与合并基不同时,我希望得到一个合并冲突。当在两个分支中编辑一行时(即使它们相同),是否有任何合并策略总是以合并冲突结束?

    1 回复  |  直到 7 年前
        1
  •  5
  •   torek    7 年前

    不。事实上,不仅Git中没有内置这样的策略,Git的其他支持路线也可能需要使用 这样的策略在这里帮不了你。现有合并驱动程序主要使用 git read-tree (或其内部等价物)在索引内执行尽可能多的工作,并且 git读取树 它本身将这些结果折叠回完全合并的阶段零条目,从而避免了将相同的内容重新编码到递归和解析合并驱动程序中。

    罪魁祸首代码为 here .