为什么git为应该是750的文件设置FileMode755?

为什么git为应该是750的文件设置FileMode755?,git,permissions,chmod,Git,Permissions,Chmod,在我的本地存储库中,我有一个filemode为550的文件。在.git/config中,在我的本地repo和服务器的repo上都设置了filemode=true。但是当我从github中提取时,文件总是显示为775 我对此感到非常困惑。有没有办法告诉git如何对文件进行烫发?所以它不会像这样改变他们?我也很好奇,为什么git设计成这样,不尊重文件烫发?我意识到我可以制作一个shell脚本来修复它,等等,但我只是好奇 很抱歉,如果这是重复的,我找不到任何能够准确解决此问题的内容。Git只存储文件权

在我的本地存储库中,我有一个filemode为550的文件。在.git/config中,在我的本地repo和服务器的repo上都设置了filemode=true。但是当我从github中提取时,文件总是显示为775

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


很抱歉,如果这是重复的,我找不到任何能够准确解决此问题的内容。

Git只存储文件权限的一个位:execute或no execute

剩余的位至少基于Unix/Linux类似系统上的umask设置。如果需要640或750设置,请将umask设置为027而不是022。所有shell都将umask作为内置命令,这与所有shell都将chdir作为内置命令的原因相同。请记住,umask设置是要带走的位,因此027表示带走组写入;去掉其他读+写+执行


umask就是为什么大多数程序都应该使用0666或0777模式创建大多数文件。

Git只存储一个文件权限位:execute或no execute

剩余的位至少基于Unix/Linux类似系统上的umask设置。如果需要640或750设置,请将umask设置为027而不是022。所有shell都将umask作为内置命令,这与所有shell都将chdir作为内置命令的原因相同。请记住,umask设置是要带走的位,因此027表示带走组写入;去掉其他读+写+执行

umask是大多数程序都应该使用0666或0777模式创建大多数文件的原因。

这是另一个问题的答案,这里是另一个问题的答案