为什么git将filemode 755设置为应该为750的文件?

时间:2014-09-24 20:41:52

标签: git permissions chmod

在我的本地存储库中,我有一个文件模式为550的文件。在.git / config中,filemode = true在我的本地存储库和服务器的存储库上设置。但是当我从github拉出来时,文件总是以775的形式出现!

我对此非常困惑。有没有办法告诉git如何为文件做烫发?所以它不会像这样改变它们吗?我也很好奇,为什么git这样设计,不尊重文件烫发?我意识到我可以制作一个shell脚本来修复它,等等,但我只是很好奇。

很抱歉,如果这是重复的,我无法找到任何可以解决此问题的内容。

1 个答案:

答案 0 :(得分:3)

Git只为文件权限存储一个位:执行或不执行。

其余位根据您的umask设置(至少在Unix / Linux系统上)。如果您需要640或750设置,请将您的umask设置为027而不是022。 (所有shell都有umask作为内置命令,原因与所有shell都有chdir作为内置命令相同。)请记住,umask设置是“要带走的位”,所以027表示“带走组写;带走其他读+写+执行”。

(umask是大多数程序应该主要使用模式06660777创建大多数文件的原因。)