1

foo.git在我的服务器上为开发人员设置了一个私有的裸 git 存储库,并通过 login shell 让他们通过 ssh 访问git-shell

由于它是一个多用户系统,我为他们设置的裸存储库已chmod -R o-rwx foo.git在其上运行,因此同一系统上的其他用户无法访问此存储库。

问题是当开发人员推送更改时,在 git 存储库中创建的新文件(例如新对象或新分支标签)是世界可读的。

我如何告诉 git、ssh、git-shell 或其他任何东西 - 当它在 foo.git 中创建文件时它们应该是 chmod o-rwx

4

2 回答 2

1

查看git config --help并搜索core.sharedRepository

如果我对您的配置理解正确,则必须将其放入config-file 中:

[core]
    sharedRepository = 0666

.

于 2013-04-05T21:01:32.430 回答
0

为什么不使用(类似的)Gitolite 来管理对存储库的访问?

它使您可以很好地控制对存储库的访问(如果您愿意,甚至可以单独访问分支),并且您的所有 git 用户只使用一个 Unix 用户帐户(通常称为“git”)。(这类似于 github.com 的工作方式。)。

于 2013-04-07T11:34:31.090 回答