git diff和git difftool什么都不做,没有输出

don*_*ner 10 windows git version-control

我试图git diff在Windows 7 64位上工作.当我从Windows命令提示符运行以下命令时:

C:\temp\mygrit>git diff
Run Code Online (Sandbox Code Playgroud)

要么

C:\temp\mygrit>git difftool
Run Code Online (Sandbox Code Playgroud)

我没有输出,也没有外部程序启动.这是我的.gitconfig文件:

[diff]
    tool = bc3
[difftool]
    prompt = false
[difftool "bc3"]
    cmd = \"c:/program files (x86)/beyond compare 3/bcomp.exe\" \"$LOCAL\" \"$REMOTE\"
Run Code Online (Sandbox Code Playgroud)

如果我从.gitconfig中删除所有这些行,我会得到相同的结果.

知道发生了什么事吗?

don*_*ner 14

好的,简单的答案.默认行为git diff是显示已修改但未暂存的所有文件.如果您没有修改过的文件,则没有输出.

git difftool使用输出,git diff如果上一个命令没有输出git difftool也不会做任何事情.

解决方案:更改一些文件但不要暂存它们,重新运行命令.如果配置文件出现问题,则会显示出来.

  • `git diff --cached(或--staged)`:比较暂存/索引的文件. (6认同)
  • [`git diff --staged`:比较上演的文件.](http://roman.st/Article/What-makes-Git-difficult-someone-coming-Mercurial) (4认同)