我已从备份恢复了git repo,但它没有正确的文件权限。是否足以在.git中的所有文件和目录上设置所有者+ rw,还是更精细?
是否有检查或重置.git文件权限的实用程序?
答案 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
目录下的名称间距。