我已将path/to/compiled/file.css -diff
添加到我的.gitattributes
文件夹中。
git diff --no-ext-diff
尊重首选项并让我知道二进制文件已更改,但git diff
(配置为使用Araxis Merge作为gui diff)不会。当Araxis点击已编译的css文件时,我会得到一个旋转的沙滩球。
如何让Araxis尊重我的意愿?
答案 0 :(得分:1)
Git通过调用外部工具命令与外部工具进行通信:
$command $LOCAL $REMOTE
因此,即使git知道它不应该尝试在给定文件上计算差异,也无法将其传达给外部工具。
外部工具只能通过查看其扩展名来猜测哪些文件是二进制文件。并且,在这种情况下,“css”不会被识别为二进制。
因此,无法通知外部工具忽略css文件。那么,我们需要的是从传递给外部工具的文件中排除文件的方法。
您可以通过设置自定义无操作差异驱动程序来实现:
$ git config diff.noop.command true # if "true" is a bash builtin in your system
or
$ git config.diff.noop.command /bin/true # if "true" is a real binary in your system
然后将该自定义驱动程序设置为与您的文件一起使用:
(at .gitattributes)
/path/to/compiled/file.css diff=noop
应该这样做。