1

hooks/update用来控制谁可以更新共享存储库中的特定参考。这对 SSH 非常有用,但我最近发现(至少使用 git-1.6.4.2)这个钩子不会影响 WebDAV 推送,任何用户都可以更新任何分支。

是的,我可以Require group ...以 8 种方式添加指令来共享您的 git 存储库以及单独的组文件,但我想避免必须维护并行授权配置!

另一种选择是重写 . hooks/update,但考虑到它已经为 SSH 工作,这似乎是一种浪费。

4

1 回答 1

3

你应该明白,对于 Git(当前)HTTPS 是一个“愚蠢”的协议,即整个交换完全不涉及服务器上的 git,包括运行钩子;仅涉及 Web 服务器(带有用于 HTTPS 推送的 WebDAV)。

但是,您应该查看存储库访问管理工具,例如Gitosis(在 Python 中,使用 setuptools)或新的Gitolite(在 Perl 中,更简单),或来自 Google 的 Android 项目的repo工具,或其他东西。也许他们会提供集中的访问管理。

于 2009-09-17T16:34:01.953 回答