$ GIT_DIR的内容应该具有哪些文件权限?

时间:2010-09-06 02:49:38

标签: git

我已从备份恢复了git repo,但它没有正确的文件权限。是否足以在.git中的所有文件和目录上设置所有者+ rw,还是更精细?

是否有检查或重置.git文件权限的实用程序?

1 个答案:

答案 0 :(得分:22)

目录应有755个权限;文件应具有644权限。

这是一个非常好的经验法则,除非您希望您的小组成员对您的存储库进行更改。

话虽如此,在我的一个存储库中,.git/objects/*下的文件对每个人都有444(只读)权限。其他文件是建议的644。

此脚本在.git存储库正上方的顶级目录中运行,将修复权限:

 find .git -type d | xargs chmod 755
 find .git/objects -type f | xargs chmod 444
 find .git -type f | grep -v /objects/ | xargs chmod 644

我开始使用-print0获取前两个find命令和xargs -0以允许文件名中存在空格的远程可能性。但是第三个命令中的grep -v很难用-print0格式来管理 - 所以我省略了所有命令的空间安全表示法,知道git不创建文件.git目录下的名称间距。