为小型分布式团队保护共享git仓库的最佳方法是什么?

时间:2010-12-26 09:15:55

标签: git

我们有一个Scala项目,我们决定使用git。问题是我们是一个非常小的分布式团队,我们希望团队之外的任何人都没有对我们的git服务器(具有有效的IP并且在IP级别可以访问世界)的只读访问权限。我听说git-daemon本身没有身份验证机制,你应该以某种方式将它与ssh或其他东西集成。使git服务器仅响应授权用户的最佳(也是最简单)方法是什么?或者git-daemon可能不适合这项任务? 我可以补充一点,我正在寻找一种简单明了的方法。我不想与github竞争; - )

6 个答案:

答案 0 :(得分:9)

@KirPiCH:gitosis没有得到维护,并且被有效放弃了。

Gitolite维护,有十几个功能比gitosis更多,作者实际上回复电子邮件!

[ps:我知道这是因为我是作者; - )]

答案 1 :(得分:6)

Gitolite 是一种保护“中央”存储库的不太直接的方式,但是:

  • 它的安装非常简单,它将根据中央服务器上authorized_keys帐户的gitolite中注册的ssh公钥来处理读/写访问。
    您可以直接从本地工作站启动其安装(如果您具有对所述服务器的ssh访问权限,它将将所需内容复制到服务器)
  • 肯定不会与GitHub竞争;)

答案 2 :(得分:2)

如果您在Windows环境中,您可以简单地设置一个共享来保存您的裸仓库并使用Windows内置的机制来访问所述共享。没有管理任何密钥,您的公司将管理用户帐户和内容。

答案 3 :(得分:2)

Gitosis是git的优秀轻量级访问控制系统。允许对repo的粒度进行读/写或只读访问控制。更容易设置Gitolite。请阅读README了解设置说明

答案 4 :(得分:1)

使用ssh的身份验证,并且完全如此(禁用git-daemon)。 git clone company.server.com:/srv/git/myproject并不比其他协议更难使用。

答案 5 :(得分:-1)

在框中运行本地GIT,例如在127.0.0.1:1234

然后让apache将来自外部的请求路由到该本地实例。

Apache将负责ssl。