有没有办法强制git merge总是使用外部合并工具?

时间:2013-10-01 10:24:53

标签: git git-config semantic-merge

有没有办法以冲突解决方案总是通过外部合并工具的方式配置git merge?

我正在为semanticmerge编写配置,有些情况由git错误处理但可以通过semanticmerge正确解决: *两位开发人员在同一文件的两个不同位置添加了相同的方法。

问题是git merge表示冲突是自动的,因此无法调用git mergetool。

感谢。

1 个答案:

答案 0 :(得分:0)

请参阅gitattributes的文档。内心深处是一个名为" merge"那 设置匹配文件的合并方法。

因此,例如,您可以在项目的根目录中包含.gitattributes文件,

*.fancy merge filfre %O %A %B %L %P

将使用filfre程序进行合并。它用

调用程序
  • %O祖先的版本临时文件名
  • %当前版本文件名
  • %B其他分支'版本临时文件名
  • %L冲突标记大小
  • 将存储合并结果的%P路径名

合并驱动程序应使用合并中的合并结果覆盖%A.

该文档中有一节,以"定义自定义合并驱动程序为首,"这表明,全局设置合并工具

[merge "filfre"]
    name = feel-free merge driver
    driver = filfre %O %A %B %L %P
    recursive = binary

放置在您的git配置中,例如.git/config$HOME/.gitconfig