在 Git diff 工具中,通过设置自定义比较器可以区分二进制差异。首先需要在 .gitattributes
文件中指定二进制文件的类型,例如:
*.jpg diff=exif
这里将 .jpg
文件的 diff 类型设置为 exif
,表示使用 exif
命令来比较差异。接着在 Git 的配置文件中设置 exif
命令:
[diff "exif"]
binary = true
textconv = exiftool
这里设置 exif
命令的 binary
选项为 true
,表示使用二进制模式进行比较。同时设置 textconv
选项为 exiftool
,表示使用 exiftool
命令来转换二进制文件为文本格式进行比较。
在完成以上设置后,就可以在 Git diff 工具中使用自定义比较器来区分二进制差异了。例如,在命令行中输入:
git diff HEAD~1 HEAD -- myfile.jpg
这会显示 myfile.jpg
文件在最近两次提交之间的差异,包括二进制差异。如果要使用图形化的 diff 工具,可以在 Git 配置文件中设置 diff.tool
选项,例如:
[diff]
tool = mydiff
[difftool "mydiff"]
cmd = mydiff-tool --left \"$LOCAL\" --right \"$REMOTE\"
这里设置 diff.tool
选项为 mydiff
,并且定义了 mydiff
工具的命令行参数。在运行 git difftool
命令时,Git 将会调用 mydiff
工具来显示差异。