Gerrit代码评审中能否修改开发分支及替换初始开发分支?
Gerrit代码评审中修改分支相关问题解答
1. 评审过程中能否修改开发分支?
当然可以!不过Gerrit的运作逻辑是围绕**变更(Change)和补丁集(Patch Set)**展开的,不是直接修改分支后推送这么简单。你只需要在原开发分支上完成新的修改,调整好提交信息(注意保留原有的Change-ID),然后用熟悉的推送命令:
git push origin HEAD:refs/for/<目标合入分支名>
推送后,原来的评审会自动更新为新的补丁集,旧的变更历史也会被保留在评审记录里,方便评审者对比不同版本的修改差异。
2. 能否用第二个开发分支替换评审中的初始分支?
可以实现,但不能直接替换分支,得通过复用原评审的Change-ID来达成“覆盖”效果:
- 先切换回你的初始开发分支,把第二个分支的变更cherry-pick过来:
git cherry-pick <第二个分支的提交哈希> - 接着修改这个新提交的信息,确保里面的
Change-ID和原评审的完全一致(如果cherry-pick后自动生成了新的Change-ID,要删掉换成旧的); - 最后推送这个新的补丁集,原评审就会被更新成第二个分支的内容,原来的初始分支变更会被新补丁集覆盖,不会再留在评审里。
要是你直接推第二个分支的变更且用了新的Change-ID,Gerrit会创建一个全新的评审,这就会出现你遇到的“两个分支变更都留在评审相关记录里”的情况,所以关键是要复用原评审的Change-ID。
内容的提问来源于stack exchange,提问作者Rocket9399
相关产品推荐
相关产品推荐

