Gerrit提交 git merge request的3个步骤(add commit merge)与2个关键概念(ChangeID 分支命名空间)

要点:

  • 避免直接使用 git push 提交代码到服务器仓库,Gerrit在中间插一脚,提供在push到服务端之前加一个门槛进行审核,然后自动提交到服务器仓库
  • Gerrit 是什么?

Gerrit 是一个基于 Git 的代码审查工具,它提供了代码审查、合并和提交功能。免费、开放源代码的代码审查软件,使用网页界面。它使用Git作为底层版本控制系统。作者为 Google 公司的Shawn Pearce,原先是为了管理 Android 计划而产生。最早它是由 Python 写成,在第二版后,改成用Java与SQL

  • Gerrit 全称: Gerrit Code Review 系统
  • Gerrit 要点:1. 代码审查 2. CS 架构 3. Java 撰写 4. 底层 Git 工具
  • Gerrit 的 ReviewID 叫做 Change ID
  • 为什么叫Gerrit?(Gerrit)人名;(德)格里特。 荷兰设计师赫里特·里特费尔德(Gerrit Rietveld)
push origin refs/for/master
会生成一个reviewID和web
可以重复push到相同的review ID的web
不生成新的web
review
merge
push origin master
Gitlocal
Gerrit
生成webreview网站
GitServer
提交到Gerrit的3个步骤
git add
git commit
git push HEAD:refs/for/master
master修改为需要push的仓库 省略远程服务器

2个关键概念:

  • ChangeID:将多个commit组合到一起,对Gerrit 相当与一个工单的 ID,可以不断的push到这个ChangeID
  • 命名空间:Gerrit 本质也是创建分支,只是分支添加了命名空间
Gerrit的大概原理(推测版)
git commit
git push HEAD:refs/for/master
推送到 Gerrit服务器
Gerrit服务器RESTful
1.创建ChangeID
2. 判断分支命名空间在refs/for/
3.1创建refs/heads/master分支
3.2创建review网页
评审通过
将新分支merge到master
其他分支同理

其他要点:

  • Git 和 Gerrit 都有命名空间:
  • Git 默认是:refs/heads/*:
  • Gerrit 默认是:refs/for/refs/heads/。 提交代码的时候简化为 refs/for/
  • refs/for仅仅是为了给云端服务器部署了Gerrit的多几个处理环节。原理类似:
评审通过后添加命名空间
分支
(git push)refs/for/xxx
有refs
进入Gerrit
refs/heads/*
(git push)xxx
无refs
自动添加refs/heads/的命名空间
直接推送

再看推送空间

自动添加
推送空间
refs
/for
refs/for/
/refs/for/refs/head/*
评审通过后提交到refs/head/*
/heads
refs/head/*

其他有趣的信息:

  • Gerrit 每月会有一次F2F的讨论

For face-to-face discussions there is a monthly Gerrit community meeting that is hosted in Gerrit’s Discord channel.

参考:
官网 https://www.gerritcodereview.com/
more 1
more 2
more 3

  • 9
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当使用Gerrit进行代码提交时,通常需要按照以下步骤进行操作: 1. 克隆代码库:首先,你需要将代码库克隆到本地开发环境中。你可以使用`git clone`命令来完成此操作。 2. 创建新分支:在进行代码更改之前,最好在本地创建一个新的分支。你可以使用`git checkout -b <branch-name>`命令来创建并切换到新分支。 3. 进行更改:在本地分支上进行代码更改和修改。 4. 提交更改:完成代码更改后,使用`git add`命令将更改的文件添加到暂存区,然后使用`git commit`命令提交更改。确保你的提交消息清晰明了,描述了你所做的更改。 5. 推送到Gerrit服务器:在将更改推送到Gerrit服务器之前,确保你的本地分支是最新的。使用`git pull`命令拉取最新的变更。然后,使用`git push origin HEAD:refs/for/<branch-name>`命令将更改推送到Gerrit服务器上的相应分支。 6. 提交代码审阅请求:打开Gerrit网页界面,选择你刚才提交的变更,然后点击"提交代码审阅请求"。确保你提供了适当的标题和描述,以便审阅人员理解你的更改。 7. 进行代码审阅:等待其他开发人员或团队成员进行代码审阅。他们将仔细检查你的更改,并提供反馈意见。 8. 处理反馈:如果有人提出了修改建议或指出了问题,请根据反馈进行相应的更改和修复。 9. 审阅通过:一旦代码审阅通过,你的更改将被合并到主分支中。 请注意,上述步骤可能会根据你所使用的具体工作流程和团队规范而有所不同。因此,在实际操作中,你可能需要根据自己的情况进行一些调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值