推送到非裸存储库后,.git文件夹中的文件具有错误权限(receive.denyCurrentBranch updateInstead)

伯恩哈德

建立

我的工作计算机上有一个git存储库,笔记本电脑上有一个克隆。我设定git config receive.denyCurrentBranchupdateInstead这样,我可以从笔记本电脑推送到我的工作计算机,并且git自动更新我的工作目录中的本地文件。

我的工作计算机使用NFS文件系统,默认情况下,组中的每个人都具有读取权限。

在笔记本电脑上,我将遥控器配置为 username@computer:/home/path/to/git

我的大学使用 /path/to/home

问题

每当我推送到这个非裸露的存储库时,.git文件夹(.git/refs/heads/master.git/objects/...中的更新文件都会获得我的读取权限,但不会获得该组的读取权限。默认情况下,在推送之前,他们还具有该组的读取权限。

这样,我的大学就无法从我的资源库中获取奇怪的错误消息。

问题

是否可以更改某些设置以更改此行为?这是预期的行为吗?还是除了向git开发人员提交错误/功能请求外,没有其他解决方案吗?

博士

远程URLusername@computer:/home/path/to/git表示您使用SSH,而不是NFS。您需要umask在服务器端进行配置尝试/home/username/.bash_profile在工作计算机上对其进行编辑

还建议您设置

git config core.sharedRepository 0640

在共享存储库中git使用此固定名称umask而不是用户的umask

参见https://git-scm.com/docs/git-config#git-config-coresharedRepository

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章