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

标签 git merge git-merge

假设在一个 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/

相关文章:

linux - 我如何验证 git clone 是否正常工作?

git - 如何解决 git status "Unmerged paths:"?

git - 如何设置 git 驱动程序以在 merge 时忽略文件夹

git - merge 冲突错误,当提到的文件没有变化时

git - 一种在一次提交中恢复整个分支的方法

linux - 结合两个接收后 Hook

linux - 亚搏体育appGitLab的密码

merge - vimdiff 作为合并工具

javascript - 根据其他值合并数组中的对象

r - 在 R 中合并大数据集并标记不匹配的数据集