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 diff 在显示未跟踪文件方面有何不同?