一、gerrit简介
参看:维基百科 - Gerrit
Gerrit,一种开放源代码的代码审查软件,使用网页界面。利用网页浏览器,同一个团队的软件开发者,可以相互审阅彼此修改后的代码,决定是否能够提交,回退或是继续修改。它使用版本控制系统Git作为底层。
二、配置Gerrit帐户
参看:修改git config配置文件
参看:git config配置
参看:配置文件git config介绍
1、git 的配置
查看git的版本
git --version
查看git配置信息
git config --list
config list分全局和局部,在根目录下执行git config --list显示为全局配置,在git的仓库目录下执行,显示的是全局和局部的配置信息。
配置git的全局邮箱和用户名使用
git config --global user.name 'XXX'
git config --global user.email 'XXX'
配置git的当前仓库邮箱和用户名配置有2种方式,1。直接不使用–global 2.使用local
git config user.name 'XXX'
git config user.email 'XXX'
git config --local user.name 'XXX'
git config --local user.email 'XXX'
设置完用 git config --list进行检验
查看git提交记录
git log
git别名(alias)的配置
比如对git status 设置别名
git config --golbal alias.st status
使用:git st 相当于 git status
pull ,push等命令设置别名同上。
git 默认选项的配置(pull.rebase)
git config --global pull.rebase true
设置完用 git config --list进行检验
git config的原理
git 配置分3个 级别,–system --global --local
git读取的优先级依次 --system < --global <–local
–global 对git的操作git config内容保存在.gitconfig的文件下
–local对git的操作git config内容保存在.git/config的文件下
我主要修改了一下几处:
当然如果你觉得逐个配置比较麻烦,你也可以更改git 的配置文件~/.gitconfig解决一键式配置问题。
[user]
name = XXX
email = [email protected]
[core]
editor = vim
[color]
ui = auto
[url "ssh://XXX@address/"]
InsteadOf = "gerrit:"
2、创建ssh config配置文件
在~/.ssh/ 下创建 config文件,并以如下格式编辑配置文件:
Host 是我们在输入命令的时候的名字(gerrit)
User 指定的登陆用户名
Port 指定的端口号
Hostname 是目标主机的主机名,也就是平时我们使用ssh后面跟的地址名称
IdentityFile 指定的私钥地址
StrictHostKeyChecking no
UserKnownHostsFile /dev/null
3、创建SSH Key
在git bash上输入
ssh-keygen -t rsa –C “[email protected]
可以发现用户主目录下,生成id_rsa和id_rsa.pub这两个文件
4、Gerrit网页配置
Email激活
Gerrit账户的设置界面,点击“Contact Information”进入Email Register页面,输入自己的邮箱账户(此邮箱需要与自己的Git配置一致)。可以配置多个Email账号。
SSH key配置
通过以下命令生成并读取本机ssh key:
cat ~/.ssh/id_rsa.pub
Copy key的内容,在Gerrit账户的设置页面“SSH Public Key”中加入即可
5、下载
之后便可在gerrit的每个project中,如下图所示位置找到并使用对应http下载命令
6、测试与Gerrit服务器的连接
$ ssh-add
$ ssh -p 端口号 <username>@address
三、Gerrit代码审核
1、用refs/for提交commit到Gerrit进行审核
git push origin HEAD:refs/for/<branch> #提交到gerrit进行review
2、代码审核
参看:Gerrit使用简介
代码正确提交到分支 refs/for/* 后,需要登录Gerrit界面为刚才的提交添加相应的审核者。
1). Author点击change号进入详细界面
2). Author完成verify并打分+1
3). 添加审核人Reviewer,如team leader
4). Reviewer认真review code和commit message内容,并反馈review信息,如果认为修改不妥,可打负分添加comment驳回修改。通过verify +2。
5). 全部review通过后,Author点击submit按钮完成代码入库,change为merged状态
3、注意:
1). 代码有问题的情况,需本地修改后重新上传,注意保持change-id不变(git commit --amend)
2). submit失败时,可以尝试rebase后重新提交
3). 无效change请及时关闭abandon处理,避免长时间停滞在open状态
4). 修改提交到分支上,可以使用cherry-pick功能
5). 代码回退请使用revert功能