我看过所有类似的问题。然而,我又检查了一遍,确实发生了一些奇怪的事情。
在一台服务器上(Solaris with Git 1.8.1),我克隆了Git存储库,然后将. Git文件夹复制到我现有的活动文件中。这很好,我可以跑了
git status
then
git diff [filename]
检查任何不同的文件。
在另一台服务器上(Solaris with Git 1.7.6),我做的完全相同
git diff [filename]
即使文件内容完全不同,也不会显示任何内容。我还测试了添加一个新文件,提交它,然后编辑。同样的问题,git status显示文件已更改,但git diff没有显示任何内容。如果我下载更改后的文件并在本地运行diff,那么我将得到diff输出。
我又偶然发现了这个问题。但这一次发生的原因不同。
我将文件复制到存储库中以覆盖以前的版本。现在我可以看到文件被修改了,但是diff没有返回diff。
例如,我有一个主页。xaml文件。
在文件资源管理器中,我粘贴了一个新的主页。Xaml文件超过了我当前存储库中的一个。
我在另一台机器上做了这项工作,只是把文件粘贴到这里。
文件显示已修改,但当我运行git diff时,它不会显示更改。
这可能是因为文件中的fileinfo已经更改,Git知道它实际上不是同一个文件。有趣。
您可以看到,当我在文件上运行diff时,它什么也不显示,只是返回提示符。
我遇到了同样的问题,描述如下:
如果我输入
$ git diff
Git只是返回到提示符,没有任何错误。
如果我输入
$ git diff <filename>
Git只是返回到提示符,没有任何错误。
最后,通过阅读,我注意到git diff实际上调用mingw64\bin\diff.exe来完成这项工作。
是这样的。我正在运行Windows,并安装了另一个Bash实用程序,它改变了我的路径,因此它不再指向我的mingw64\bin目录。
如果你输入:
git diff
它只是返回到提示符,你可能有这个问题。
由git运行的div .exe位于你的mingw64\bin中
目录
最后,为了解决这个问题,我实际上复制了我的mingw64\bin目录到Git正在寻找的位置。我试过了,还是不行。
然后,我关闭我的Git Bash窗口并再次打开它,去到我的同一个存储库,现在它可以工作了。