60

我正在尝试查看未暂存的单个文件的更改。

首先,我使用git status查看所有未暂存的更改,例如:

git diff AndroidManifest.xml

但我得到这个输出:

diff --git a/AndroidManifest.xml b/AndroidManifest.xml  
old mode 100755  
new mode 100644

这是什么意思?如何查看特定文件的更改?

4

2 回答 2

47

很可能,这个文件的内容没有改变,只有可执行位被清除了。尝试通过添加一个空行来实际更改文件,然后查看git diff输出。

除了文件内容,Git 还会记录每个文件的可执行位的状态。如果您希望脚本在结帐后立即可执行,这在 Linux 系统上是有意义的。另请参阅以下两个相关问题:

如何让 Git 忽略文件模式 (chmod) 更改?

如何从 Git 中的未暂存更改中删除说“旧模式 100755 新模式 100644”的文件?

于 2013-05-25T09:27:19.690 回答
23

这意味着文件模式从 755 更改为 644,但内容没有改变。

git diff正是您正在寻找的 - 它显示了从未暂存文件到最后一次提交的更改。git diff --cached用于暂存文件。

于 2013-05-25T09:28:06.297 回答