$GIT_DIR的内容应该具有什么文件权限?

$GIT_DIR的内容应该具有什么文件权限?,git,Git,我已从备份还原git repo,但它没有正确的文件权限。在.git中的所有文件和目录上设置owner+rw就足够了,还是更微妙 是否有用于检查或重置.git文件权限的实用程序?目录应具有755权限;文件应具有644权限 这是一个很好的经验法则,除非您希望您的组成员对您的存储库进行更改 话虽如此,在我的一个存储库中,.git/objects/*下的文件对每个人都有444(只读)权限。根据建议,其他文件为644 此脚本运行在.git存储库正上方的顶级目录中,将修复权限: find .git -ty

我已从备份还原git repo,但它没有正确的文件权限。在.git中的所有文件和目录上设置owner+rw就足够了,还是更微妙


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

目录应具有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
目录下创建名称有空格的文件。

我在运行
git pull
时收到一条.git/FETCH\u HEAD权限被拒绝的消息,无论我对其设置了什么权限。这解决了问题,并帮助我设置组权限。谢谢但最低限度是多少。我们不能在DIR上打750,在OBJ上打440/640吗?假设env设置正确,有组。@b:最小值取决于您希望谁能做什么。这在一定程度上还取决于您是否要使用ACL(访问控制列表)来帮助管理谁可以做什么。您可能会获得700个权限;只有用户才能访问该目录。没有“普遍正确”的答案-根据您的要求有一些选项。@JonathanLeffler好的,是的,所以我通常在一个盒子上开发,然后推到prod机器,我不喜欢filemode false,所以prod上的安全性从dev开始。(再加上我是一个人秀,有团队协作访问的愿景,在这种情况下共享主机,所以基本访问,你知道apache通常是如何运行的)让我们走吧。没有ACL,因为这是一种perms方法。建议?顺便说一句,我最初的建议(750/440/640)没有问题,我测试了它。