作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
是否可以在 Git 中设置一个自定义工具来 merge 具有特定扩展名的文件?
谢谢指点!
更新
除了定义自定义 difftool 并按照@jarodeells 的建议手动调用它之外,我想不出任何更好的解决方案:
[diff]
tool = mydiff
[difftool "mydiff"]
cmd="script.sh \"$LOCAL\" \"$REMOTE\""
然后显式调用它:
$ git difftool -t mydiff someFileWith.ext
最佳答案
更新:请参阅下面的@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
[*] 外部 diff 工具的命令将由 git 使用手册中 GIT_EXTERNAL_DIFF 中详述的 7 个参数调用 here .
关于git - 如何为 Git 中的特定文件扩展名设置 difftool/mergetool?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12356917/
我是一名优秀的程序员,十分优秀!