Gerrit使用简介

Gerrit使用简介

转自: 点击打开链接

1 Gerrit简介

    Gerrit,一种免费、开放源代码的代码审查软件,使用网页界面。利用网页浏览器,同一个团队的软件程序员,可以相互审阅彼此修改后的程序代码,决定是否能够提交,退回或者继续修改。

 

 

1 注册Gerrit

 

1.1 账号密码

 

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

 

 

 

    从管理员处获取账号密码后,登录Gerrithttp://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界面为刚才的提交添加相应的审核者:

 

登录Gerrithttp://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"

 

 

03-18
### Gerrit Code Review 工具简介 Gerrit 是一种基于 Web 的代码审查工具,主要用于管理分布式版本控制系统(如 Git)中的更改[^1]。它通过提供一个集中化的平台来简化代码评审过程,使开发者能够更高效地协作并改进代码质量。 #### 主要功能 - **代码评审**:支持逐行评论和讨论,帮助团队成员快速定位问题并提出改进建议。 - **变更跟踪**:记录每一次提交的历史记录以及相应的修改意见,便于追溯开发进展。 - **集成测试环境**:可以配置自动化构建和测试流程,在提交前验证代码的质量。 尽管 Gerrit 广泛应用于开源项目中作为主要的代码审查工具[^2],但在某些特定场景下可能与其他内部工具配合使用,比如谷歌工程师更多依赖于 Critique 这样的定制化解决方案。 以下是创建一个新的代码审核请求的一个简单 Python 脚本示例: ```python import subprocess def create_gerrit_change(commit_message): try: # 添加文件到暂存区 subprocess.run(['git', 'add', '.'], check=True) # 提交本地更改 subprocess.run(['git', 'commit', '-m', commit_message], check=True) # 推送到远程仓库触发 gerrit 审核 subprocess.run(['git', 'push', 'origin', 'HEAD:refs/for/master'], check=True) except subprocess.CalledProcessError as e: print(f"An error occurred while creating a change in Gerrit: {e}") create_gerrit_change("Initial implementation of feature X") ``` 此脚本展示了如何利用命令行接口与 Gerrit 集成完成基本操作。 另外值得注意的是,Rietveld 曾经是一个由 Guido van Rossum 开发用于替代早期手动邮件列表方式处理补丁集的应用程序[^3],而如今许多现代实践已经转向采用像 Gerrit 这样更加成熟的系统来进行更为复杂的任务需求满足。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值