Gerrit,中文发音大致为 "杰瑞特"。
最初是为管理Android项目而产生。 最早由Python写成,第二版后,改成用Java与SQL
Go,Qt等知名项目使用Gerrit做代码审查
Gerrit分支自Rietveld。 Python之父Guido van Rossum在Google时开发了Mondrian(命名自荷兰画家皮特·蒙德里安),作为内部代码审查工具,后面开源时取名叫Rietveld。该名称为致敬荷兰设计师赫里特·里特费尔德(Gerrit Rietveld)。。所以也不难理解后面的fork版本为啥叫Gerrit
【老万】我看代码审查(一):工具的变迁
Gerrit的github地址
Gerrit的官网 https://www.gerritcodereview.com/
可参考Go的Contribution Guide中关于Gerrit的部分
第一次给Go提交代码的开发者,可以用熟悉的github方式,Sending a change via GitHub
但更推荐Sending a change via Gerrit:
简而言之:
(如果还要再次修改文件)
(如果可以提交了)
例如:
这样就会在面板中,有一个这样的change:
和通过github直接相比,这里的Owner会是你的名字,而非GerritBot
如果想提交多个独立的改动,形成一个Relation chain,就像这样
在每次修改并git add 相应文件
后,不使用 git codereview change
, 而是用git commit -s -m"xxxx信息"
最后再 git codereview mail 最近一次提交的commitId
最后git codereview mail 最近一次提交的commitId
时可能会报错:
commit 075e77a: missing Change-Id in message footer
这是因为提交信息中,没有加上Change-Id,
按照提示,执行 f=
git rev-parse --git-dir/hooks/commit-msg ; mkdir -p $(dirname $f) ; curl -Lo $f https://gerrit-review.googlesource.com/tools/hooks/commit-msg ; chmod +x $f
后再试即可
成功提交后如下图所示:
不过看起来这种情况,用all: xxx来提交单次改动就行了,没有必要用 Relation chain
更多参考:
gerrit 使用教程(一)
【译】Go 语言项目源码贡献官方指导文档
Single-Commit Work Branches和Multiple-Commit Work Branches
这里可用来 测试 和 练习
Copyright © 2023 leiyu.cn. All Rights Reserved. 磊宇云计算 版权所有 许可证编号:B1-20233142/B2-20230630 山东磊宇云计算有限公司 鲁ICP备2020045424号
磊宇云计算致力于以最 “绿色节能” 的方式,让每一位上云的客户成为全球绿色节能和降低碳排放的贡献者