Git合并:是否有可能避免非快进文件的自动合并?

5
当我执行git merge时,我希望只有能够快进的文件(即仅在合并的分支中的一个分支自最后公共修订以来更改的文件)被自动合并,而所有其他文件(即使在不同行上也已更改了两个分支上的文件)都标记为冲突。我搜索了一下,似乎没有“简单”的方法(例如通过传递给git merge的选项)可以实现这一点。这里有一个类似的问题,但不完全是这样。 这里有一个非常相似的问题,但它已经过去4年,而且没有确定的答案。

1
就此而言,“快进”并不是正确的短语,因为它指的是基于提交图的分支标签操作。任何给定提交的内容都不受图形控制(尽管某些退化的图形情况确实限制了内容更改的可能性)。 - torek
2个回答

1
据我所知,如果不使用某种脚本,这是不可能实现的(应该不会太难)。几个月前,我曾寻找类似的解决方案,最终我只是禁用了快进合并。我认为在您添加的一些问题中提到了如何禁用它:
git merge --no-ff

1
* -merge 放在正在执行合并的存储库的 .git/info/attributes 中。这将防止任何自动合并,而是引入合并冲突。
请注意,.git/info/attributes 具有所有 .gitattribute 文件中最高的优先级,因此没有一个文件可以取消它。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接