如何在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