我试图让git在Preview中打开diffed图形文件(图像,pdf等)。打开预览的命令是/usr/bin/open -a Preview file1 file2 …
。
我在gitconfig中设置了一条规则:git config --global diff.graphical.external ~/.git-diff-graphical.sh
(跟this gist之后)。然后我在~/.config/git/attributes
中的.gitattributes文件中添加了一些规则:
*.jpg diff=graphical
*.png diff=graphical
*.gif diff=graphical
*.pdf diff=graphical
当我检查jpg的属性时,它会显示diff: graphical
,但是当我在文件上运行git diff
时,它会打开FileMerge(我以前将其设置为我的常规外部编辑器)。我的gitconfig的相关部分如下所示:
[diff]
external = /Users/me/.git-diff-default.sh
[diff "graphical"]
external = /Users/me/.git-diff-graphical.sh
订单似乎并不重要。
编辑如果我评论external = /Users/me/.git-diff-default.sh
和[diff "graphical"]
,它会在预览中打开其中一个版本(它不会打开git在/中创建的临时文件var因为我认为它会在预览打开之前被删除)。所以我想我有两个问题:打开临时文件并让git使用正确的diff工具。