当我执行 git difftool 时,它会递归地为所有文件运行默认的 difftool。我编写了一个脚本来根据扩展名选择合适的 difftool,我在脚本中调用 git difftool -t mytool 。difftool 将所有参数重定向到新调用,这很好。但是,它也会以某种方式重定向所有文件名。所以基本上,我的脚本变得无用,因为自定义 difftool 与所有更改的文件一起传递。
我想要做的是,将 difftool 限制为一个文件,或者至少用一个文件调用我的 difftool,而不是其余文件。基本上,这是我的脚本,我将它作为 .gitconfig 中的默认 difftool。
if is_sbs $1 $2 ; then
#custom difftool which is also defined in .gitconfig
git dt -t rhapsody
else
#for all files
git dt -t kdiff3
fi