假设在一个 git 仓库中我有一个包含版本信息的文件:
version=42
现在如果在两个独立的分支上版本增加到
version=43
并且这些分支被 merge ,git 的标准 merge 机制不会产生 merge 冲突,因为两个版本是相同的(即使 merge 基础不同)。
通常这是需要的行为,但在这个文件的情况下,只要两个分支与 merge 基础不同,我就想得到一个 merge 冲突。当在两个分支(即使它们相同)中编辑一行时,是否有任何 merge 策略总是以 merge 冲突结束?
最佳答案
没有。事实上,不仅 Git 中没有内置这样的策略,Git 的其余支持例程(您可能想用来编写这样的策略)在这里也帮不了您。现有的 merge 驱动程序大多使用 git read-tree
(或其内部等效项)在索引内执行尽可能多的工作,而 git read-tree
本身就是将此类结果折叠回完全 merge 的阶段零条目,从而无需将相同的内容重新编码到递归和解析 merge 驱动程序中。
罪魁祸首代码是here .
关于git - 当两个版本具有相同的更改时,使 git merge 导致冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47811178/