如何在Git中为特定的文件扩展名设置difftool / mergetool?

问题描述 投票:7回答:2

是否可以设置自定义工具以在Git中合并具有特定扩展名的文件?

感谢您的任何指示!

更新

我无法找到比定义自定义difftool更好的解决方案,并且像@jarodeells建议的那样手动调用它:

[diff]
    tool = mydiff
[difftool "mydiff"]
    cmd="script.sh \"$LOCAL\" \"$REMOTE\""

然后明确地调用它:

$ git difftool -t mydiff someFileWith.ext
git version-control git-merge git-diff git-config
2个回答
2
投票

如果尚未支持,请安装一个关闭扩展的shell脚本并调用正确的合并工具。


0
投票

更新:请参阅下面的@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。

© www.soinside.com 2019 - 2024. All rights reserved.