强制Git进行手动合并,即使在“显而易见”的情况下

5
有几个回答讲述了如何实现它 (这个那个),建议使用自定义驱动程序,这看起来是相当不错的。
然而,在合并分支时,如果给定的文件在合并的分支中没有被更改,那么 git 就不会调用合并驱动程序,而是直接覆盖该文件。
有没有有效的方法防止这种情况发生?
【编辑】
为了澄清,每次合并都包含一个带有本地环境配置的 Excel 文件,即每个开发人员的本地设置。这个文件很少被编辑,通常会在我从主分支拉取时被覆盖。
请注意,这个文件中可能有一些其他细节已经被编辑了,我想要在自己的版本中更新它们,因此仍然重要。我只希望它始终导致手动解决冲突,这样我就可以保留我的本地配置并更新其余部分(即使我必须手动完成)。
还值得注意的是,这个文件不能被拆分以使我的生活更容易。

你实际上想在这里实现什么?Git 正在引起你一些困难,请描述情况和困难。 - jthill
我会添加一些描述以澄清,但基本上我遇到了二进制文件(Excel)包含本地配置的问题。 - filippo
如果没有更改,您如何合并文件?那就不是合并了... - knittl
1
@knittl 嗯,我这边没有做出任何更改,但是还有一些即将到来的更改——我只需要一个端口... - filippo
@jthill 是啊...不做那些。希望我能一直手动合并 :( - filippo
显示剩余2条评论
1个回答

1
Git合并驱动程序存在的目的是为了有效地检测和解决两个历史版本之间的潜在冲突。它的涂抹和清洗过滤器存在的目的是应用和删除只在您的工作树中需要的更改,这些更改不属于已发布的历史记录。你正在做的是一种涂抹,一个只有本地才需要的局部更改。合并是一个冲突解决者,而不是一个涂抹者。
即使上游没有任何变化,你已经有了应用本地更改的代码,你可以通过将同一文件作为输入来直接运行它作为涂抹过滤器。

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