Gerrit使用篇-提交代码,合并代码

前言

在使用gerrit之前,必须对git有一定的熟悉,
Gerrit安装篇介绍了怎么安装Gerrit,这篇会简单介绍下Gerrit如何使用,下面这张图是Gerrit的生命周期
这里写图片描述

下面做个比较:
下图是一个普通的git
这里写图片描述

下图是gerrit
这里写图片描述

仔细比较:gerrit多了一个”PendingChange”,这部分是做Code Review的,然后管理员verify之后,PendingChange代码就会合并到Git仓库了。

1.完整配置

点击Settings,选择Contact Informations,点击右边的Register New Email,如下图我注册了一个通知邮件
这里写图片描述
这样有状态变化或者需要审核代码,就会接收到通知。

点击左边的”SSH Public Keys”,添加需要key,如何获取这个key,可以通过以下方式:

1) 如果不存在~/.ssh/id_rsa.pub文件,则通过下面命令生成
这里写图片描述

2)通过下面命令获取key
cat ~/.ssh/id_rsa.pub
这里写图片描述

然后把这个key复制,像下面一样:
这里写图片描述

点击“add”按钮,添加成功

2.创建project

需要登录管理员账号(第一个登录的账号就是管理员账号,当然你也可以使用管理员账号设置其他账号为管理员),点击Projects,选择最后一个菜单 “Create New Project”,如下图

这里写图片描述

一般情况创建的新工程都会继承与”All-Projects”,如下图:
这里写图片描述

点击”Create Project”按钮,创建成功之后,就可以在Projects的List列表看到了,如下图:

这里写图片描述

3.提交代码

点击我们上面创建的HelloGerrit工程,你会看到下面这样的界面:
这里写图片描述

选中”clone with commit-msg hook”和”ssh”,会得到下面这样一个路径:
这里写图片描述

拷贝上面的路径到git-bash里执行
这里写图片描述

我们试下按照正常的使用git的方式commit和push代码,如下:
这里写图片描述
上面错误告诉我们:这个账号没有权限把代码直接提交到git仓库,这就是gerrit的精髓了,关于gerrit是怎么工作的,可以看下前言部分。

接下来,我们就需要配置账号可以提交到”PendingChange”了,

git config remote.origin.push refs/heads/*:refs/for/*

然后我们看下git push之后就怎么样
这里写图片描述

在浏览器打开上面的那个网址“http://192.168.1.3:9080/129”,内容很丰富
这里写图片描述
这里写图片描述

4.审核代码

添加Reviewer
这里写图片描述

添加的Reviewer绑定的邮箱会收一个通知邮件:
这里写图片描述

OK,接下来,审核者打开网页,阅读代码,比如其中的一个类文件
这里写图片描述
接下来审核者有两种选择

1)如果发现代码有问题或者不符合规范,他可以点击”Abandon Change”
这里写图片描述

这样,提交代码的人会收到一个邮件通知
这里写图片描述

因为在提交者的git log,这个被拒绝的提交仍然存在,所以需要去除这个提交的log,通过重置到上一个提交就可以了

git reset c7ad7f432ead7289685df6a4fd53cf0c2dd63c91

然后重新提交就可以了。

2)审核通过
审核者,点击“Review”,出现下面选择
这里写图片描述

需要注意:每个提交只有满足了”+2”和”verified”才能submit合并到master分支。

我们注意到了这里没有 显示“verified”,所以我们需要去开启这个功能,
因为“HelloGerrit”的权限集成自“AllProjects”,所以对“AllProject”的Access进行修改
这里写图片描述
因为我们正在修改的是refs/heads/*,所以滑动到这个位置,添加相应权限,比如我已经添加好的
这里写图片描述

接下来看下,回到之前的地方,点击“review”按钮,如下图
这里写图片描述

需要注意几点:
1)合并代码需要Code-Review的”+2”和Verified的”+1”才能使用合并功能
2)CodeReview的所有选项和Verified的所有选项可以根据团队配置来分配,也可以都由一个人来做。一般情况:CodeReview的+1/-1对应初级审核,+2/-2对应更上一级审核;Verified就是合并之前的确认的。

这里,我自己选择CodeReview的”+2”和Verfied的“+1”,然后点击“Submit Patch set 1”成功了,可以看到代码已经合并了
这里写图片描述
接下来就可以团队其他成员就可以用git pull拉取代码

5.gerrit可以当做普通的git使用

其实Gerrit也可以像普通的git一样使用,只不过我们需要先修改一些权限, 还是像上面一样打开权限列表,见下图:
这里写图片描述
我们给“Administrators”分组添加了直接push的权限,这个分组下面的所有成员都可以像git一样使用gerrit,如果之前使用下面的命令修改了git push

git config remote.origin.push refs/heads/*:refs/for/*

在把gerrit当成普通git使用之前,需要做如下修改

git config remote.origin.push master

如下图是修改之后像普通的git一样提交代码:
这里写图片描述

总结

不知道安装gerrit,可以看下我之前写的Gerrit安装篇,以后有时间会根据实际项目使用,来继续补充gerrit使用。你也可以链接到下面三个地方深入学习gerrit

1)using gerrit
2)gerrit-review
3)gerrit tutorial

  • 17
    点赞
  • 57
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
使用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. 审阅通过:一旦代码审阅通过,你的更改将被合并到主分支中。 请注意,上述步骤可能会根据你所使用的具体工作流程和团队规范而有所不同。因此,在实际操作中,你可能需要根据自己的情况进行一些调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值