中三A105论坛
请选择 进入手机版 | 继续访问电脑版

注册 登录
查看: 672|回复: 0

Gerrit使用简介

[复制链接]

105

主题

119

帖子

553

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
553
发表于 2019-12-28 17:56:00 | 显示全部楼层 |阅读模式
1 Gerrit简介
    Gerrit,一种免费、开放源代码的代码审查软件,使用网页界面。利用网页浏览器,同一个团队的软件程序员,可以相互审阅彼此修改后的程序代码,决定是否能够提交,退回或者继续修改。


1 注册Gerrit

1.1 账号密码

    注册Gerrit需给Gerrit管理员(yangjunyu@wingtech.com)发送邮件获取账号密码。



    从管理员处获取账号密码后,登录Gerrit:http://192.168.42.21:8083/


1.1 修改名字和邮箱


如邮箱为xxxx@google.com,则“Full Name”填写为xxxx:


注册邮箱:

注册成功后会给邮箱发送一封邮件,点击链接进行验证(如果某些浏览器无法打开验证链接,复制到IE上打开):


1.1 添加用户

linux下的用户名须和管理员给的Gerrit账号名相同,如果没有,请添加新用户:

root@BuildHost:~# adduser gerrit



1.1 添加ssh密钥
备份.ssh(如果存在的话):


生成密钥:
rm -rf ~/.ssh
ssh-keygen -t rsa -C "自己邮箱地址"   ###一直按回车键即可


然后公钥添加到Gerrit:
把 ~/.ssh/id_rsa.pub 内容复制好


粘贴到


1 开发人员使用
1.1 下载代码
正确配置好邮箱和ssh公钥后,根据Gerrit管理员给出的地址下载代码:
如:git clone ssh://用户名@192.168.42.21:29418/test

1.1 下载commit-msg脚本
【重要:使用Gerrit必须要有此脚本】
1. 拷贝脚本到本地
scp -P 29418 -p 192.168.42.21:/hooks/commit-msg .
2. 把脚本拷贝到git钩子路径
cp commit-msg /usr/share/git-core/templates/hooks
chmod +x /usr/share/git-core/templates/hooks/commit-msg

1.1 提交代码审核
Gerrit不允许用户直接push代码到分支上(特别授权用户除外),否则报错:




正确的做法是所有提交都push到 HEAD:refs/for/分支名 :
格式如:git push origin HEAD:refs/for/分支名


例1:

当前处于本地分支master


代码提交到远程分支master上,则:git push origin HEAD:refs/for/master



例2:

当前处于本地分支developer




代码提交到远程分支deleloper上,则: git push origin HEAD:refs/for/developer

1.1 添加审核者
代码正确提交到分支 refs/for/* 后,需要登录Gerrit界面为刚才的提交添加相应的审核者:

登录Gerrit:http://192.168.19.225:8083/, 在“changes”下可以看到刚刚的提交,名称显示为刚刚提交所写的注释



点击进入,在“Need Code-Review”下添加相应的代码审核者(请根据自己项目情况添加指定的审核者,此处仅作演示)

如果审核通过,会收到提示邮件(Code-Review为正数,说明审核通过,但代码未合入分支):



代码被合入后,会收到邮件提示(说明代码已经正确提合入到分支):

1.1 审核失败再提交
当收到审核失败的邮件时(Code-Review为负数,需要记下Change-Id,下一步提交时会用上),需要修改代码重新提交:


修改好代码后,重新提交代码:
【重要:代码审核失败后,重新提交时必须使用 git commit --amend,否则会生成新的评审任务,无法与上一次审核任务关联】


【重要:注释可以重新写,但是其中“Change-Id”必须为上一次审核任务失败的Change-Id,可在Gerrit或者上一步的邮件中查看得到】




再push代码到Gerrit:


最后无需重复步骤“3.3 提交代码审核”,Gerrit会自动给原来的审核者发送相应邮件

4 审核人员使用

4.1 收到审核邮件

当有审核任务邮件时,点击链接打开Gerrit


4.2 查阅审核任务
打开审核任务如下:

4.3 添加其他审核者
如果需要,这里可以添加其他人员审核(需要有审核权限)


4.4 查看修改内容
点击“Side-by-Side”按钮,查看修改内容:


点击“next”查阅下一项修改:


4.5 审核通过/失败
点击“Review”


审核通过:


审核失败:


代码提示被blocked:


审核失败的任务会给提交者发送邮件,通知其修改
5 其他
5.1 常用别名设置
git config --global alias.st status
git config --global alias.ci commit
git config --global alias.co checkout
git config --global alias.br  branch
git config --global color.ui true
git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset %C(bold blue)<%an>%Creset ---%C(yellow)%d%Creset %s %Cgreen(%cr)' --abbrev-commit"



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回列表 返回顶部