参考:Gerrit官方文档
Gerrit是基于Git的版本控制系统的web版代码评审工具。
What is Gerrit
代码审查对不同的人意味着不同的东西。对一些人来说,这是一次与设计师或一个团队一行一行过代码的正式会议。对其他人来说,就是在提交代码之前,让别人浏览一下代码。
Gerrit的目的就是为代码提交到代码库之前提供一个评审的轻量级框架。代码提交到Gerrit上之后,实际上并没有真正被项目接受,直到被评审通过。
Gerrit在代码被正式接受之前,为代码检查设置了一个staging area,在这里可以对该提交进行修改、讨论、增加注释……
分布式进行、不需要面对面操作。
Where does Gerrit fit in?
任何一个团队都有某种类型的中央代码库。Git理论上可以在没有中央代码库的情况下工作,但实际上他有一个中央存储库。这是项目中实际存在的权威性副本。每个人或编译服务器都可以从中央的认证代码服务器下代码或推代码。
Gerrit也是部署在中央代码仓库的地方,只是增加了新的部分,一个staging area。每个人仍然可以从代码库中下载代码,但是并没有直接推送回去。修改暂时推送到Gerrit提供的staging area,只有最终通过评审,才能提交到中央代码库中。
同时Gerrit具有强大的访问权限控制,用户可以被赋予绕过代码评审的权限直接推送代码。Gerrit也可以仅用作代码存储,不进行代码评审。
The Life and Times of a Change
了解Gerrit的工作原理的最简单的方法就是熟悉一个change的生命周期。我们假设,Gerrit 服务器(gerrithost)使用http的8080端口、ssh的29418端口,并且所有的开发都在Reci