什么是 Gerrit?
Gerrit 是一个免费的、基于 Web 的团队代码协作工具。团队中的软件开发人员可以使用 Web 浏览器互相审查对源代码的修改,并批准或拒绝这些更改。它与分布式版本控制系统 Git 紧密集成,并以作为 Android 开源项目(AOSP)和许多其他大型项目的核心代码审查工具而闻名。
主要功能
- 基于 Web 的代码审查: 提供清晰的并排或统一的差异视图来比较更改,支持内联评论。
- Git 集成: 构建在 Git 之上,无缝管理仓库和推送/拉取更改。
- 访问控制: 在项目和分支级别提供精细的权限,允许控制谁可以提交、审查和合并代码。
- 基于变更的工作流: 每个提议的变更(提交)都被视为一个可审查的项目,可以用新的补丁集进行更新,直到被批准和合并。
- 自动化钩子: 允许在新补丁集上传时,通过 CI/CD 系统(如 Jenkins)触发自动构建和验证。
使用案例
- 大型开源项目: 非常适合管理来自庞大、分布式开发者社区的贡献,如 Android 和 Chromium 项目。
- 企业开发: 被公司用来执行严格的代码质量标准,并维护一个干净、线性的项目历史。
- 受监管行业: 适用于需要所有代码变更和审查的详细审计跟踪的环境。
- 工作流强制执行: 帮助强制执行特定的开发工作流,例如要求在合并变更前获得多次批准。
入门指南
开始使用 Gerrit 需要将您的更改推送到一个特殊的“魔力”分支。
- 克隆仓库:
git clone https://your-gerrit-instance.com/project cd project - 进行更改并提交:
# 编辑一些文件 git add . git commit -m "我的第一个提议的变更" - 推送以供审查:
与正常的
git push不同,您需要将提交推送到refs/for/<branch>,这会告诉 Gerrit 创建一个新的审查。git push origin HEAD:refs/for/main然后 Gerrit 会生成一个 URL,您的团队可以在该 URL 上审查此变更。
定价
Gerrit 是完全免费和开源的,采用 Apache 2.0 许可证。您可以将其托管在自己的服务器上,无需任何许可费用。