在我的代码库里,如果我输入
$ git diff some-file
或者$ git difftool some-file
我得到了终端内的差异显示。我认为这不应该发生,因为我已经设置了一个外部的差异工具,就像 git config -l
的输出所示:
$ git config -l
user.name=blah blah
user.email=blah blah
http.sslverify=true
diff.external=/home/daniel/bin/git-diff <--This is the important line
push.default=simple
core.filemode=false
core.editor=gedit
alias.tree=log --all --graph --decorate=short --color --format=format:'%C(bold blue)%h%C(reset) %C(auto)%d%C(reset)
%C(black)[%cr]%C(reset) %x09%C(black)%an: %s %C(reset)'
core.repositoryformatversion=0
core.filemode=false
core.bare=false
core.logallrefupdates=true
core.ignorecase=true
remote.origin.url=https://daniel@skynet/git/pyle.git
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
branch.master.remote=origin
branch.master.merge=refs/heads/master
branch.daniel.remote=origin
branch.daniel.merge=refs/heads/daniel
diff.external
行中引用的 git-diff 文件看起来像这样:
#!/bin/bash
meld $2 $5
为什么git diff
没有调用meld?
如果我使用git config -l
设置以下行,我会得到相同的行为:
diff.tool = meld
或者diff.external = usr/bin/meld
注意:我电脑上的其他代码库没有这个问题。
相关但不相等的Stack Overflow问题: