代码之家  ›  专栏  ›  技术社区  ›  Bernhard

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

git
  •  1
  • Bernhard  · 技术社区  · 8 年前

    我的工作电脑上有一个git存储库,笔记本电脑上有一个克隆。 我准备好了 git config receive.denyCurrentBranch 到 updateInstead . 这样我就可以从我的笔记本电脑推到我的工作电脑和git自动更新本地文件在我的工作目录那里。

    我的工作计算机使用NFS文件系统,但组中的每个人都有读取权限。

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

    我的大学用 /path/to/home

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

    这样,我的大学就不能从我的存储库中获取奇怪的错误消息。

    问题

    是否有一些设置可以更改以更改此行为? 这是故意的吗? 或者除了向git开发者提交bug/feature请求之外,没有其他解决方案吗?

    1 回复  |  直到 8 年前
        1
  •  1
  •   phd    8 年前

    username@computer:/home/path/to/git 意味着您使用SSH,而不是NFS。您需要配置 umask 服务器端;尝试在中编辑它 /home/username/.bash_profile

    git config core.sharedRepository 0640
    

    在共享存储库中 git .

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