是否可以扩展 git(通过插件)以支持其他不基于纯 ASCII 文件的文件类型?举个例子:假设有人用PSD.rbpsd
为 Photoshop文件编写了一个差异程序,以将底层二进制文件中的更改表示为文本。psd
我在谷歌上没有找到任何东西,所以也许一些更深入的 git 黑客可以回答这个问题。
当然,它被称为git difftool
.
您可以在.gitattributes
文件中指定要应用的特定 difftool 的扩展名。
例如,参见Aki Koskinen的这篇博文“ Image diffs with git ”
git config --global core.attributesfile '~/.gitattributes'
[~]$ cat .gitattributes
*.gif diff=image
*.jpg diff=image
*.png diff=image
[~]$ git config --global diff.image.command '~/bin/git-imgdiff'
[~]$ cat ~/bin/git-imgdiff
#!/bin/sh
compare $2 $1 png:- | montage -geometry +4+4 $2 - $1 png:- | display -title "$1" -