git status 未显示权限更改 [重复]

Posted

技术标签:

【中文标题】git status 未显示权限更改 [重复]【英文标题】:git status not showing permission changes [duplicate] 【发布时间】:2015-11-02 13:25:18 【问题描述】:

在 git 存储库中,我更改了文件权限。如果我运行命令

git status

git status -v

我没有看到任何变化。它只显示

On branch xxxxx
nothing to commit, working directory clean

但我确实将文件和文件夹的权限从 644 更改为 777。如何告诉 git 向我显示权限更改?

( git version 2.2.1 and filemode = true)

【问题讨论】:

Git only 跟踪文件的可执行位。它不关心/跟踪其他文件权限(并且根本不跟踪文件夹)。 @Kamiccolo 谢谢,我不想恢复任何我想看到发生变化的东西 @AD7six 感谢您的评论。没看懂,能不能详细解释一下是什么意思。我将文件从 644 更改为 777 【参考方案1】:

您可以启用文件模式,Git 还将跟踪文件权限更改。

git config core.filemode true

【讨论】:

那没有帮助,我会用我忘记的那些信息更新问题 我明白了,在这种情况下,这个答案应该涵盖你所需要的***.com/questions/3207728/… 该链接确实有帮助,谢谢@tombeynon! (该死我的问题是重复的)【参考方案2】:

当一个标记为可执行的文件被签出时,一些文件系统会丢失可执行位,或者签出一个可执行位打开的非可执行文件。 git-clone[1] 或 git-init[1] 探测文件系统以查看它是否正确处理可执行位,并且此变量会根据需要自动设置。

但是,存储库可能位于正确处理文件模式的文件系统上,并且此变量在创建时设置为 true,但稍后可能会从丢失文件模式的另一个环境中访问(例如,通过 CIFS 挂载导出 ext4,使用 Git for Windows 或 Eclipse 访问 Cygwin 创建的存储库)。在这种情况下,可能需要将此变量设置为 false。请参阅 git-update-index[1]。

默认为 true(当配置文件中没有指定 core.filemode 时)。

git update-index --chmod=+x

这可能会解决您的问题。这会修改索引或目录缓存并设置更新文件的执行权限。

【讨论】:

以上是关于git status 未显示权限更改 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

git status 没有显示我更改的文件

git status 在内部的工作方式与 git diff 在显示未跟踪文件方面有何不同?

Git status - 有没有办法只在特定目录中显示更改?

git status 显示中文和解决中文乱码

如何详细显示 Git 中未提交的更改和一些 Git 差异

VSCode 未显示源代码控制 git 面板中的更改