当两个版本具有相同的更改时,使git merge结果发生冲突

时间:2017-12-14 10:32:03

标签: git merge git-merge

让我们说在git repo中我有一个包含版本信息的文件:

version=42

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

version=43

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

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

1 个答案:

答案 0 :(得分:5)

没有。事实上,不仅Git没有内置这样的策略,Git的其他支持例程 - 您可能希望用它来这样的策略 - 不要帮助你。现有的合并驱动程序大多使用git read-tree(或其内部等效项)来在索引中执行尽可能多的工作,而它的git read-tree本身会将此类结果折叠回完全合并阶段零入口,节省了必须将相同的事物重新编码到递归中并解决合并驱动程序。

罪魁祸首代码是relevant SO question