是否可以设置自定义工具以在Git中合并具有特定扩展名的文件?
感谢您的任何指示!
更新
我无法找到比定义自定义difftool更好的解决方案,并且像@jarodeells建议的那样手动调用它:
[diff]
tool = mydiff
[difftool "mydiff"]
cmd="script.sh \"$LOCAL\" \"$REMOTE\""
然后明确地调用它:
$ git difftool -t mydiff someFileWith.ext
如果尚未支持,请安装一个关闭扩展的shell脚本并调用正确的合并工具。
更新:请参阅下面的@Ackdari评论。外部工具不必是基于命令行的。我不确定git在使用外部工具时如何使用binary = True
,但我怀疑所有流程都可能需要工作。
如果你的外部差异工具*只是命令行(没有GUI),
你可以使用内置的gitattributes
:
在.gitconfig
添加:
[diff "my_diff"]
command = Tools/csv_diff
binary = true # Not sure this is required.
并在.gitattributes
(全局或每个存储库,请参阅here)添加:
*.csv diff=my_diff
[*]外部差异工具的命令将由git调用,其中7个参数详见手册here中的GIT_EXTERNAL_DIFF。