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

Make git merge result in a conflict when both versions have the same change

假设在 git 存储库中我有一个包含版本信息的文件:

version=42

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

version=43

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

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

没有。事实上,不仅 Git 没有内置这样的策略,Git 的其余支持例程——您可能想使用它们来 write这样的策略——不在这里帮助你。现有的合并驱动程序大多使用 git read-tree(或其内部等效项)在索引内执行尽可能多的工作,并且 git read-tree 本身将这些结果折叠回完全合并的阶段零条目,无需将相同的东西重新编码到递归和解析合并驱动程序中。

罪魁祸首代码是 here