"git status" 显示有变更的文件,但 "git diff" 却没有。

11 浏览
0 Comments

"git status" 显示有变更的文件,但 "git diff" 却没有。

我查看了所有类似的问题。然而,我已经进行了双重检查,发现确实发生了奇怪的事情。

在一台服务器上(Solaris with Git 1.8.1),我克隆了Git存储库,然后将.git文件夹复制到我的现有实时文件中。这完美地运行了,我可以运行

git status

然后

git diff [filename]

来检查所有不同的文件。

在另一台服务器上(Solaris with Git 1.7.6),我完全相同但是

git diff [filename]

什么也没有显示,即使文件内容明显不同。我还测试了添加一个新文件,提交它,然后编辑。同样的问题,git status显示文件已更改,但git diff什么也没有。如果我下载已更改的文件,并在本地运行diff,那么我会得到不同的输出。

admin 更改状态以发布 2023年5月22日
0
0 Comments

我把这个文件添加到索引中:

git add file_name

然后运行:

git diff --cached file_name

你可以在这里看到git diff的描述。

如果你需要撤消你的git add,请参见这里:如何在提交之前撤消'git add'?

0
0 Comments

对我来说,这似乎与文件权限有关。
我的项目中有一个使用Mac / Linux的人似乎提交了一些具有非默认权限的文件,而我的Windows Git客户端无法复制。

对我来说解决方案是告诉Git忽略文件权限:

git config core.fileMode false

其他见解:如何让Git忽略文件模式(chmod)更改?

0