当修改文件时,特别是在 Windows 下修改 Linux 的文件,可能会改变文件的 mode 属性值,例如从 644 变成 755,然后使用 git add 命令添加文件,会提示 file mode change,但是这个提示不太明显,容易被忽略。

在执行 git add 命令之前,如果想查看文件 mode 属性是否发生改变,可以使用 git diff 命令的 --summary 选项。查看 man git-diff 对 --summary 选项的说明如下:

--summary
Output a condensed summary of extended header information such as creations, renames and mode changes.

例如,如果本地文件的mode改变了,执行 git diff --summary 命令,会看到类似下面的信息:

mode change 100755 => 100644 file_name

这个命令不会列出文件内容的改动,而只列出文件 mode 变化,方便只查看文件 mode 是否发生变化。

对于已经执行过 git commit 提交的文件,在 git log 命令里面也可以使用 --summary 选项查看已经提交的文件 mode 变化。


霜鱼片
446 声望331 粉丝

解读权威文档,编写易懂文章。如有恰好解答您的疑问,多谢赞赏支持~