1.简单介绍
1.之前git add --> git commit --> git push
如图中橙色的线
2.gerrit就是上图中的那只鸟,普通成员的代码是被先push到gerrit服务器上,然后由代码审核人员,就是左上角的integrator在web页面进行代码的审核(review
),当代码审核通过(approve
)之后,这次代码才会被提交(submit
)到代码仓库(repo
)中去。
3.代码审核通过或被拒绝,代码提交者(Contributor
)和所有的相关代码审核人员(Integrator
)都会收到邮件提醒
4.gerrit还有自动测试的功能,和主线有冲突或者测试不通过的代码,是会被直接拒绝掉的,这个功能似乎就是右下角那个老头(Jenkins
)的任务
5.当进行commit
时,必须要生成一个Change-Id
,否则,push到gerrit服务器时,会收到一个错误提醒
6.提交者不能直接把代码推到远程的master
主线(或者其他远程分支)上去。这样就相当于越过了gerrit了。 gerrit必须依赖于一个refs/for/*
的分支。
假如我们远程只有一个master主线,那么只有当你的代码被提交到refs/for/master
分支时,gerrit才会知道,我收到了一个需要审核的代码推送,需要通知审核员来审核代码了。
当审核通过之后,gerrit会自动将这条分支合并到master主线上,然后邮件通知相关成员,master分支有更新,需要的成员再去pull就好了。而且这条refs/for/master
分支,是透明的,也就是说普通成员其实是不需要知道这条线的,如果你正确配置了sourceTree
,你也应该是看不到这条线的
2.安装流程
2.1 ubuntu系统
为求方便,我使用的是在VMware Workstation Pro虚拟机上安装,ubuntu直接去官网下载就行.
安装步骤直接琢磨一下,安装好后修改语言为中文,Ubuntu的终端支持中文显示,还有切换输入法<