Git是否支持自动合并冲突解决方案用于仅追加文件?

7
在我们的项目中,我们将本地化字符串存储在一个XML文件中,该文件由应用程序加载。这些文件由本地化管理工具管理,我们不直接编辑文件。
现在,当两个开发人员在不同的分支上添加新的本地化字符串时,会产生合并冲突。在大多数情况下,本地化字符串只是被添加,因此手动合并是微不足道的:使用一个版本,并从另一个版本中附加新的字符串。
尽管这很简单,但自动化它会更好。就我所知,从概念上讲,这应该是可能的。
那么我的问题是,我能告诉Git对特定的文件使用一种“连接合并”的方式吗?

Git之所以首先向您发出此冲突警报,是因为它认为它不应该处理此冲突...鉴于本地化的性质,这可能是最好的选择;您永远不知道更改是否错误地引入了新的文件字符集、不应有的空格或智能引号。您不希望自动合并这些内容。 - Makoto
1个回答

7
Git确实支持一种叫做“自定义合并驱动程序”的东西,您可以告诉Git,在合并对某个文件<name.ext>的更改时出现冲突时,应运行一些外部程序,并使用参数命名基本版本、“我们”的版本和“他们”的版本,让该程序执行合并操作。
这个StackOverflow问题展示了如何在特定文件上运行自定义合并驱动程序的示例。它还指出可能会出现的一个问题(但我认为不会影响您的情况):只有在git首先将合并视为“三方合并”(即,您自己的分支和要合并的分支都有更改)时,才会运行自定义驱动程序。
至于实际的“仅追加”合并驱动程序,此GitHub页面上的驱动程序似乎能够完成任务。注意:这不是我的代码,我也没有查看实际代码,只看了描述。

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