我进行了几次提交更改,例如:
我已经收到+2的合并请求,但是不幸的是master已移动,并且其中一个提交显示为“合并冲突”,因此我无法一次提交所有提交。
但是,当我尝试在本地进行重新设置时,重新设置很简单。而且,如果我在Web界面上使用Rebase,它将成功解决冲突。
但是在本地重新部署的问题是,我将失去+2票,而不得不再次惹恼审稿人。
Web界面确实保留了我的+2票,但是我还没有找到一种方法来一次重新整理所有提交:我能做的最好的事情是:
first
second
将Rebase on parent change
重新设置为基础如果像在CLI中那样直接在Web UI上重新建立最后一个提交,Gerrit警告我这会破坏关系链:
Rebase on top of the master branch (breaks relation chain)
我认为这意味着仅一次提交将在master之上,而不是按我的意愿重新设置基准?
有没有一种方法可以立即调整全部基准,而又不会失去我的+2票?
在Gerrit 2.16.2上进行了测试。
答案 0 :(得分:2)
当您对多个补丁集(提交)进行一次更改时,无需为每个提交重新设置基准,您只需为最后一个提交重新设置基准。实际上,您将仅提交(集成/合并)最后一个提交而不是整个链。每次修改补丁集时,您都会创建一个新的提交来替换先前的提交。
如果您对此概念感到困惑,那么最好阅读Gerrit文档中的Working with Gerrit: An example项。
回答您的问题:重新设定补丁集基础时,Gerrit将根据项目的copyAllScoresOnTrivialRebase配置来处理+ 1 / + 2票。如果为true,则在上传新补丁集(不重要的基础)时会向前复制标签的所有分数。如果手动进行重新设置,使用Web UI推送或进行重新设置,则工作方式没有任何区别。如果您的行为有所不同,请确保您没有更改提交消息。
如果提交消息,则新补丁集被认为是不重要的基础 与先前的补丁集相同,并且具有相同的代码 增量作为先前的补丁集。
答案 1 :(得分:1)
尝试
解决合并冲突并更新您的审核请求。
答案 2 :(得分:0)
我不认为有办法做到这一点。编辑提交(并且正在对基准进行编辑)意味着提交需要重新审核。
我的经验表明,在最后一个提交完成并进一步推送之前,您不应该推送新的提交以供审核。