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


这里可用来 测试练习


目录
相关文章
|
存储 算法 开发工具
Git的入门详细教程
Git的入门详细教程
|
存储 缓存 数据可视化
SourceTree使用教程图文详解
Git分布式版本控制系统是我们日常开发中不可或缺的一部分,能够大大提高我们协同工作的效率。前面的一篇文章如何玩转Git介绍过Git的相关知识。在工作中往往我们需要使用Git的可视化管理工具进行版本控制。目前市面上比较流行的Git可视化管理工具有SourceTree、Github Desktop、TortoiseGit等等,我们公司主要使用的是SourceTree。该篇文章主要结合日常开发工作的对于sourctree的一些常用操作进行讲解和总结,帮助没有使用过的同学进行快速入门,希望能对大家有所帮助!
1705 0
SourceTree使用教程图文详解
|
弹性计算 开发工具 git
GitLab的安装及使用教程
GitLab是利用Ruby on Rails一个开源的版本管理系统,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目,与Github类似。本篇教程将教你如何安装部署及使用GitLab。
130163 1
|
19天前
|
存储 开发工具 git
git工具使用教程全讲解
本文介绍了版本控制的概念及其重要性,详细对比了多种版本控制工具,如VSS、CVS、SVN和Git,重点讲解了Git的基本使用方法、工作原理及与SVN的区别。此外,文章还介绍了GitHub、GitLab和Gitee等流行的代码托管平台,以及如何在这些平台上注册账号、创建和管理仓库。最后,文章还提供了如何在IntelliJ IDEA中配置和使用Git的具体步骤。
42 1
|
2月前
|
前端开发 搜索推荐 JavaScript
hexo本地部署-图文教程
关于Hexo本地部署的详细图文教程,介绍了如何安装Hexo、配置主题、创建页面以及进行个性化设置。
hexo本地部署-图文教程
|
6月前
|
测试技术 持续交付 开发工具
一文掌握:Gitlab的完整使用手册
一文掌握:Gitlab的完整使用手册
|
前端开发 程序员 开发工具
Github使用教程图文详解
Github使用教程图文详解
|
存储 算法 Linux
Git 新手入门教程 - 如何注册与配置公钥
Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。 Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。 Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。
165 0
|
自然语言处理 Java 程序员
SVN版本控制器使用攻略
SVN版本控制器 🍅程序员小王的博客:程序员小王的博客 🍅 欢迎点赞 👍 收藏 ⭐留言 📝 🍅 如有编辑错误联系作者,如果有比较好的文章欢迎分享给我,我会取其精华去其糟粕 🍅java自学的学习路线:java自学的学习路线
170 0
SVN版本控制器使用攻略
|
缓存 JavaScript Unix
超详细Git下载安装配置使用教程,从入门到上传本地项目到GitHub,一文就够了
超详细Git下载安装配置使用教程,从入门到上传本地项目到GitHub,一文就够了
2092 0
超详细Git下载安装配置使用教程,从入门到上传本地项目到GitHub,一文就够了