Gerrit 使用操作手册
一、Gerrit简介
Gerrit 是一种免费、开源的代码审查工具,使用网页交互页面。这个软件的名称来自于荷兰设计师师赫里特·里特费尔德(Gerrit Rietveld),作者为Google公司的Shawn Pearce。它使用Git作为底层版本控制系统,相比于其他的代码管理工具,Gerrit明显的特色是代码审核。利用网页浏览器,同一个团队的软件程序员,可以相互审核(Review)彼此修改后的程序代码,然后决定是继续提交还是取消提交。
二、Gerrit使用
2.1 激活账号
在浏览器输入:192.168.211.164,登录账户,首次登录需要激活。即登录后在设置(齿轮图标)的Email Addresses中配置邮箱地址,并根据接收到的邮件进行激活,激活时Username、Full name和Display name可以配置成相同。
2.2 本地生成ssh-key公钥
在git bash中使用以下命令,直接回车即可。
ssh-keygen -t rsa -C “your email”
秘钥默认保存在C盘用户下,例如:/c/Users/86137/.ssh/id_rsa.pub
2.3 gerrit配置免密下载ssh keys
点击设置后,选择左边菜单栏的SSH keys,将本地生成的秘钥贴入并保存。
2.4 查询项目,点击browse下的repositories进行查看,项目较多时,可以在filter中输入名称进行过滤。
2.5 下载代码
首次下载代码需要请使用repository中的第一个命令进行下载,如果使用第二条命令,可能无法提交或未经过gerrit,无法实现代码审核
建议:优先选择使用ssh的方式
如确实需要使用http方式,http弹框的密码需要从页面设置中点击http credentials生成
2.6 修改与提交
修改与提交前先进行git的相关配置,下载后进入项目,在项目路径下执行
如果本地只需要一个账号登录,可以设置全局变量,执行以下两条命令:
git config --global user.name " *** "
git config --global user.email " *** "
如果本地存在多个账号使用或者不同项目需要不同账号,则去掉–global
git config user.name " *** "
git config user.email " *** "
关联提交远程路径:
git config remote.origin.push refs/heads/:refs/for/
新建或修改文件后先执行
git add filename或. (.表示当前目录下所有新增或修改文件添加至暂存区)
git commit -m “message” 用于提交至本地仓库
git push origin HEAD:refs/for/master 推送至远程暂存区
2.7 Gerrit页面进行代码审核并合并至远程分支
点击review link进入审核页面后,根据页面中间的files进行代码内容变更的查看,确认后根据具体权限进行相关操作,当code-review达到+2,verified达到+1后进行代码的提交
2.8 远程合并后本地需要git pull更新同步,更新后可通过git log查看
三、常见问题处理
3.1 每次commit都会生成一个change id,也就会在gerrit中生成一个review请求,为避免review请求过多,可以按照以下两种方法进行操作
方法一:减少commit的使用,可以在本地执行add后,在push之前使用一次commit
方法二:第一次使用commit后,后面使用commit时通过git commit --amend进入修改页面修改Change-Id,此时push后会只产生一个review请求
3.2 当submit灰色或报错时
git submit including parents
原因:由commit依赖引起,例如有两次review A和B,A是先提交至gerrit,但是并没有审核代码并且submit,此时又提交了新的review请求B,B包含了A的修改,于是A上进行了abondon操作,只留下B在gerrit中,就会出现该错误。A和B按顺序合并时不会报错。
解决:此时需要从远程分支拉取一个新的分支:
git fetch origin master:new_branch
本地切换到新分支:
git checkout new_branch
然后点击review页面edit右边三点,选择download patch,复制Cherry Pick命令
git fetch “url” refs/changes/*** && git cherry-pick ***
再执行git add . 和 git commit,commit时会提示冲突和解决,保存后用git push提交
git push origin HEAD:refs/for/***文章来源:https://www.toymoban.com/news/detail-783346.html
完成后重新进入gerrit的review页面进行review和submit。文章来源地址https://www.toymoban.com/news/detail-783346.html
到了这里,关于Gerrit 使用操作手册的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!