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