在Gerrit中实现多个并行功能



如何在Gerrit中实现多个并行功能?我有几个功能需要在Gerrit中进行代码审查,在我们完成工作之前,每个开发人员都会推送一个功能,并等待它通过代码审查。如果需要修复,我们会对其进行修补,并等待其通过代码审查(一次一个功能(。但现在进行代码评审的团队成员非常少,所以我必须等两天才能进行代码评审。根据我们刚开始时设置的规则(这些规则不再适用,但我现在只知道这个工作流(,每个开发人员一次只能提交gerrit中的代码审查,我必须等待,在提交通过代码审查之前不做任何其他工作。我如何绕过这一点,在Gerrit出色地工作?例如,我有本地分支dev,我有远程gerrit分支refs/for/dev,现在我推送一个特性commit A,我如何在同一分支refs/for/dev中推送另一个提交commit B,而不会在gerrit中显示为依赖项?例如,如果commit B被合并,但commit A没有通过代码审查,需要进行修补,会发生什么?

您需要并行处理提交,如下所示:

1( 为第一次更改创建分支

git fetch
git checkout -b change-1 origin/dev

2( 做第一次更改

<edit>
git add .
git commit
git push origin HEAD:refs/for/dev

3( 为第二次更改创建分支

git fetch
git checkout -b change-2 origin/dev

4( 进行第二次更改

<edit>
git add .
git commit
git push origin HEAD:refs/for/dev

如果您需要为其中一个更改创建另一个补丁集,请执行以下操作:

git checkout change-NUM
<edit>
git add .
git commit --amend
git push origin HEAD:refs/for/dev

当变更被合并时,删除其本地分支:

git branch -D change-NUM

最新更新