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月前
|
存储 算法 开发工具
Git的入门详细教程
Git的入门详细教程
|
存储 缓存 数据可视化
SourceTree使用教程图文详解
Git分布式版本控制系统是我们日常开发中不可或缺的一部分,能够大大提高我们协同工作的效率。前面的一篇文章如何玩转Git介绍过Git的相关知识。在工作中往往我们需要使用Git的可视化管理工具进行版本控制。目前市面上比较流行的Git可视化管理工具有SourceTree、Github Desktop、TortoiseGit等等,我们公司主要使用的是SourceTree。该篇文章主要结合日常开发工作的对于sourctree的一些常用操作进行讲解和总结,帮助没有使用过的同学进行快速入门,希望能对大家有所帮助!
1640 0
SourceTree使用教程图文详解
|
网络安全 开发工具 git
|
弹性计算 网络安全 开发工具
GitLab的安装及使用教程
GitLab是利用Ruby on Rails一个开源的版本管理系统,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目,与Github类似。本篇教程将教你如何安装部署及使用GitLab。
129620 1
|
3月前
|
测试技术 持续交付 开发工具
一文掌握:Gitlab的完整使用手册
一文掌握:Gitlab的完整使用手册
|
11月前
|
前端开发 程序员 开发工具
Github使用教程图文详解
Github使用教程图文详解
|
存储 缓存 Linux
Git入门操作手册
Git入门操作手册
226 1
|
JavaScript Shell 网络安全
在Windows环境下使用hexo搭建博客以及部署到gitee / github
在Windows环境下使用hexo搭建博客以及部署到gitee / github
182 0
|
开发工具 git 索引
Git学习笔记-详细使用教程
Git学习笔记-详细使用教程
Git学习笔记-详细使用教程
|
缓存 JavaScript Unix
超详细Git下载安装配置使用教程,从入门到上传本地项目到GitHub,一文就够了
超详细Git下载安装配置使用教程,从入门到上传本地项目到GitHub,一文就够了
1294 0
超详细Git下载安装配置使用教程,从入门到上传本地项目到GitHub,一文就够了