有没有一种方法可以强制Git合并始终使用外部合并工具?

3

有没有一种方法可以配置git合并,使冲突解决始终通过外部合并工具进行?

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

问题是,git合并说冲突是自动的,因此无法调用git mergetool。

谢谢。

1个回答

1
请参阅gitattributes文档。其中有一个名为“merge”的属性,用于设置匹配文件的合并方法。
因此,例如,您可以在项目的根目录中拥有一个.gitattributes文件,其中包含以下内容:
*.fancy merge filfre %O %A %B %L %P

该程序将使用filfre程序进行合并。它使用以下参数调用该程序:
  • %O祖先版本的临时文件名
  • %A当前版本的文件名
  • %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


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