Gerrit使用教程

简介: Gerrit使用教程

概述

微信截图_20230626181009.pngGerrit,中文发音大致为 "杰瑞特"。

最初是为管理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/

微信截图_20230626181050.png微信截图_20230626181119.png

安装

微信截图_20230626181131.png

微信截图_20230626181140.png

使用


可参考Go的Contribution Guide中关于Gerrit的部分

第一次给Go提交代码的开发者,可以用熟悉的github方式,Sending a change via GitHub

但更推荐Sending a change via Gerrit:

微信截图_20230626181317.png

简而言之:

  1. git clone 项目
  2. 切换分支,git checkout -b your_branch
  3. 修改文件,而后git add 要提交的文件
  4. git codereview change (这步和git的commit作用一样,但命令不同; 这步会跳出编辑框,输入commit信息,记得最后要加个换行)

(如果还要再次修改文件)

  1. 再次修改项目,再次git add 要提交的文件
  2. git codereview change   (会用新的改动amend掉老的commit)

(如果可以提交了)

  1. git codereview mail

例如:

微信截图_20230626181352.png

这样就会在面板中,有一个这样的change

微信截图_20230626181426.png

和通过github直接相比,这里的Owner会是你的名字,而非GerritBot


Sending multiple dependent changes

如果想提交多个独立的改动,形成一个Relation chain,就像这样

在每次修改并git add 相应文件后,不使用 git codereview change, 而是用git commit -s -m"xxxx信息"

最后再 git codereview mail 最近一次提交的commitId

微信截图_20230626181501.png

微信截图_20230626181531.png

最后git codereview mail 最近一次提交的commitId时可能会报错:

commit 075e77a: missing Change-Id in message footer

微信截图_20230626181543.png

这是因为提交信息中,没有加上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 后再试即可

成功提交后如下图所示

微信截图_20230626181645.png

不过看起来这种情况,用all: xxx来提交单次改动就行了,没有必要用 Relation chain


更多参考:

gerrit 使用教程(一)

【译】Go 语言项目源码贡献官方指导文档

Single-Commit Work Branches和Multiple-Commit Work Branches


这里可用来 测试练习


目录
相关文章
|
9月前
|
Android开发
Android 11 添加Service服务SELinux问题
Android 11 添加Service服务SELinux问题
462 1
|
网络安全 开发工具 数据安全/隐私保护
|
XML 存储 开发工具
|
数据安全/隐私保护 Windows
QT应用编程: QGraphicsView+QGraphicsTextItem动态编辑文本
QT应用编程: QGraphicsView+QGraphicsTextItem动态编辑文本
919 0
QT应用编程: QGraphicsView+QGraphicsTextItem动态编辑文本
|
开发框架 Ubuntu 应用服务中间件
FastCGI与spawn-fcgi安装与配置
FastCGI与spawn-fcgi安装与配置
854 0
FastCGI与spawn-fcgi安装与配置
|
关系型数据库 Java MySQL
|
9月前
|
Java jenkins 网络安全
从零搭建 Gerrit 实现 code review
从零搭建 Gerrit 实现 code review
188 1
|
Java Linux 开发工具
Linux部署 Gerrit 教程 ——2023.07
Linux部署 Gerrit 教程 ——2023.07
601 0
|
Ubuntu Java 程序员
手把手教你搭建自己的git+gerrit代码评审服务器
搭建自己的git+gerrit代码评审服务器
1344 0
手把手教你搭建自己的git+gerrit代码评审服务器

热门文章

最新文章

相关实验场景

更多