对于通过SSH和HTTPS提供的共享git仓库,如何控制两种协议的访问?

StackOverflow https://stackoverflow.com/questions/1435687

  •  07-07-2019
  •  | 
  •  

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

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

另一种选择是重写 hooks / update ,但这似乎是浪费,因为它已经在为SSH工作了。

有帮助吗?

解决方案

你应该明白,对于Git(目前),HTTPS是一个“愚蠢的”。协议,即整个交换根本不涉及服务器上的git,包括运行钩子;它只是涉及的Web服务器(使用WebDAV进行HTTPS推送)。

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top