运行git mergetool
时,我想让git选择基于文件扩展名使用的合并工具。我怎样才能做到这一点?
此处也提出了类似的问题:Git: configure patterns for difftool and mergetool
答案是编写自定义合并驱动程序。但是,似乎这将在git merge
上执行,而我希望在git mergetool
上选择合并工具。
似乎必须有一些方法来指定.gitattributes,但我似乎无法弄清楚如何。有什么建议吗?
答案 0 :(得分:6)
一个解决方案(因为我的old answer不适合mergetool
)是设置为mergetool
包装脚本。
git config --global merge.tool customMergeTool
git config --global mergetool.customMergeTool.cmd 'customMergeTool.sh \"$BASE\" \"$LOCAL\" \"$REMOTE\" \"$MERGED\"'
包装脚本customMergeTool.sh
会:
$BASE
是什么(特别是其文件扩展名)mergetool
以下是OP elsevers提出的脚本:merge-wrapper
。