最初我尝试使用 gitosis 来管理公司的 git 存储库,后来发现 gitolite 是对 gitosis 的一种增强。
而且我听说 gerrit 也可以用于相同的目的,但是从描述来看,gerrit 主要用于代码审查。
那么这是设置git服务器的最佳方式
- 一起使用 gitolite(用于 git repo)和gerrit(用于代码审查)
- 仅使用 gerrit管理 git 存储库和 codereview
你能给点建议吗?
BTW: http: //gitorious.org/被考虑在未来
如果您打算使用 gerrit,您不妨将它用于托管和代码审查——这样工作流程会更容易,因为 gerrit 会管理将您审查的代码合并到其存储库中,这就是您想要的要发布——如果你在其他地方托管,你将不得不设置一个自动从 gerrit 中提取的方法,或者你将有一种方法让你的开发人员绕过代码审查,将他们的更改直接推送到托管存储库并完全忽略gerrit。
最新版本的 gerrit 可以集成 gitweb,为您提供漂亮的 Web 界面进行浏览,但受您设置的 ACL 保护。
我只将gitolite用于它提供的细粒度 ACL。
对于代码审查部分,我使用FishEye(尽管某些项目存在免费许可证,但不是免费的)和 Crucible(均来自 Atlassian)。
这使我可以在两个单独的服务器上分离这两个功能(ACL 与代码审查)。
如果您需要代码审查,您可以使用 gerrit,它有自己的集成 git 的 ssh 服务器。
Gerrit 使用用户组并允许您在期望级别指定权限,它还有一些功能可以轻松接受外部开发人员的贡献,您可以强制开发人员接受一些 TOS。