在 Gerrit 中实现多个并行特性
Achieve multiple parallel features in Gerrit
Gerrit如何实现多个并行特性?
我有几个功能需要进入 Gerrit 进行代码审查,直到我们一直在努力,每个开发人员都会推送一个功能并等待它通过代码审查,如果它需要修复,我们会修补它并等到它通过代码审查(一次一个功能)。但是现在进行代码审查的团队成员很少,所以我必须等待 2 天才能进行代码审查。并且根据我们开始时设置的规则(不再适用,但我现在只知道这个工作流程),每个开发人员一次只能提交一次以在 gerrit 中进行代码审查,我必须等待而不是处理其他任何事情,直到该提交通过代码审查。
我怎样才能绕过这个并在 Gerrit 中并行工作?例如,我有本地分支 dev
,我有远程 gerrit 分支 refs/for/dev
,现在我推送一个功能 commit A
,如何推送另一个提交 commit B
同一个分支 refs/for/dev
而没有在 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
Gerrit如何实现多个并行特性?
我有几个功能需要进入 Gerrit 进行代码审查,直到我们一直在努力,每个开发人员都会推送一个功能并等待它通过代码审查,如果它需要修复,我们会修补它并等到它通过代码审查(一次一个功能)。但是现在进行代码审查的团队成员很少,所以我必须等待 2 天才能进行代码审查。并且根据我们开始时设置的规则(不再适用,但我现在只知道这个工作流程),每个开发人员一次只能提交一次以在 gerrit 中进行代码审查,我必须等待而不是处理其他任何事情,直到该提交通过代码审查。
我怎样才能绕过这个并在 Gerrit 中并行工作?例如,我有本地分支 dev
,我有远程 gerrit 分支 refs/for/dev
,现在我推送一个功能 commit A
,如何推送另一个提交 commit B
同一个分支 refs/for/dev
而没有在 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