gerrit代码审核提交流程
简介
Gerrit,一种免费、开放源代码的代码审查软件,使用网页界面。利用网页浏览器,同一个团队的软件程序员,可以相互审阅彼此修改后的程序代码,决定是否能够提交,退回或者继续修改。
本文主要记录一个gerrit的用户如何拉取代码,并做修改提交,等待审核的一个过程。
如果你是一个刚接触gerrit的用户使用者,可以继续往下阅读。如果你已经是一名old bird可以忽略~~~
注册gerrit用户
注册Gerrit账户,需给联系Gerrit管理者获取账号。
假如你已经有了账号,请登录你的gerrit服务。
注册账户邮箱
一旦你登录了账号,并且没有设置过邮箱,那么请注册:
用户注册邮箱请参考这里
配置秘钥
如果你是一个新用户,请将你工作的本机秘钥添加到你的gerrit账号下,以便可以正确拉取推送项目。
1.获取秘钥
- Linux系统
# 查看当前用户是否存在秘钥, 如果不存在需要通过ssh-keygen进行生成
# 秘钥生成
ssh-keygen -t rsa -C "youemail@xxx.com"
# 复制秘钥
cat ~/.ssh/id_rsa.pub
如果提示权限问题:可能是版本级别太高,通过以下方式生产秘钥
ssh-key -t ed25519 -C "youemail@xxxx.com"
- Windows系统
进入C:\Users\USER.ssh目录确认是否有秘钥, 如果没有通过以下命令生成
# 打开CMD DOS生成秘钥
ssh-keygen -t rsa -C "youemail@xxx.com"
拷贝id_rsa.pub公钥。
2.设置秘钥
当获取到了公钥之后,登录到gerrit服务,将公钥添加到gerrit账户中:
复制公钥:

开发人员
1.拉取项目
用户开发者一旦获取到自己的gerrit账号后,就已经有了自己相应的权限了。
开发者可以通过BROWES->Respositories中查看自己账号下挂载了的项目情况。
我们可以看到下图显示了只有一个tinyalsa的项目
那么我们如何拉取项目呢。 只有点击tinyalsa进入界面就可以看到有两种拉取方式:
-
with commit-msg hook
commit-msg 是一个脚本文件,该脚本对于 Gerrit 的使用非常重要,使用 Gerrit 必须要有此脚本,否则在本地的修改版本无法提交至 Gerrit 中,会报错:missing change-id in commmit message footer,表示该版本提交没有 change-id。
所以我们必须使用这一种方式,不然无法得到审核。 -
without commit-msg hook
这一种也是我们常用的git克隆方式,应该很熟悉。 如果项目被设置了权限,该方法是无法进行修改提交的,必须拉取commit-msg hook脚本才行

到这里,开始克隆代码
# 我们先创建一个测试目录
mkdir -p ~/mtk/test_gerrit/own/user2
# 开始clone
git clone "ssh://test_user2@10.66.xxx.xx:29418/tinyalsa" && scp -p -P 29418 test_user2@10.66.xxx.xx:hooks/commit-msg "tinyalsa/.git/hooks/"
cd tinyalsa
release@release:~/mtk/test_gerrit/own/user2/tinyalsa$ ls
Android.bp MODULE_LICENSE_BSD NOTICE README include mixer.c pcm.c tinycap.c tinyhostless.c tinymix.c tinypcminfo.c tinyplay.c
release@release:~/mtk/test_gerrit/own/user2/tinyalsa$
2.修改提交项目
我们那到了代码之后, 修改和提交完全和git的操作一样。
如下,我们对README进行修改并提交:
# 修改README,增加test code review by user2 modfiy
release@release:~/mtk/test_gerrit/own/user2/tinyalsa$ vi README
release@release:~/mtk/test_gerrit/own/user2/tinyalsa$ git add README
# 提交到版本库
release@release:~/mtk/test_gerrit/own/user2/tinyalsa$ git commit

本文详细介绍了如何在Gerrit平台上注册、配置秘钥、拉取项目、修改提交并通过代码审核的过程,包括遇到常见问题的解决方案,适合初次接触Gerrit的新手。

1万+

被折叠的 条评论
为什么被折叠?



