当Git diff显示模式更改时,它意味着什么?

时间:2013-05-25 09:24:53

标签: git

我正在尝试查看未分阶段的单个文件的更改。

首先我使用git status查看所有未分期更改 然后例如:

git diff AndroidManifest.xml

但是我得到了这个输出

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

这意味着什么以及如何查看特定文件的更改

2 个答案:

答案 0 :(得分:20)

最有可能的是,此文件的内容没有更改,只清除了可执行位。尝试通过添加空行来实际更改文件,并查看git diff输出的内容。

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

How do I make Git ignore file mode (chmod) changes?

How do I remove files saying "old mode 100755 new mode 100644" from unstaged changes in Git?

答案 1 :(得分:17)

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

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