gerrit rebase审查分支上游分支的最新变化

时间:2012-07-14 23:39:11

标签: git gerrit

是否有可能在主题分支上进行一些更改,等待上游审核?我想保留所有评论评论等,但也有上游的最新变化。

我考虑过遵循工作流程(不确定它是否有效):

  • 根据上游的最新变化修改本地主题分支;
  • 强制推送本地主题分支中的新提交(没有提交到gerrit进行审核)到gerrit的refs / heads / thetopicbranch,以便用来自上游的新变化替换gerrit分支中的提交;
  • 将本地主题分支头推送到gerrit进行审核,即HEAD:refs / for / thetopicbranch - 这将推动需要审核的更改和gerrit(我希望)匹配提交已经被其Change-Id推送。

相同,但是在git命令中(一切都在本地主题分支上完成):

  • git rebase upstream
  • git push gerrit:项目`git merge-base upstream localtopicbranch`:refs / heads / thetopicbranch -f
  • git push gerrit:项目HEAD:refs / for / thetopicbranch

这个架构会起作用吗?

1 个答案:

答案 0 :(得分:0)

当然,将一些主题分支更改置于Gerrit中待处理的其他上游更改之上是相当容易的。我通常使用的工作流程:

  • 下载您想要作为父级的上游更改。您通常不希望为这些更改创建新的补丁集,因此我使用'git checkout'命令,该命令可以从Gerrit复制粘贴。使用其他命令(pull和cherry-pick),如果自上载更改上载以来还有其他开发,您将创建一个新提交。
  • Cherry-选择您想要在您刚刚下拉的上游更改之上的更改。从gerrit
  • 复制粘贴git cherry-pick命令
  • 通过git push <server> HEAD:refs/for/<topicBranch>
  • 上传到gerrit