6

是否可以通过上游的一些待审核更改来重新设置主题分支?我想保留所有评论评论等,但也要在上游进行最新更改。

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

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

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

  • git rebase 上游
  • git push gerrit:project `git merge-base upstream localtopicbranch`:refs/heads/thetopicbranch -f
  • git push gerrit:project HEAD:refs/for/thetopicbranch

这个架构会起作用吗?

4

1 回答 1

0

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

  • 下载您想要作为父级的上游更改。您通常不想为这些更改创建新的补丁集,所以我使用可以从 Gerrit 复制粘贴的“git checkout”命令。使用其他命令(pull 和 cherry-pick),如果自上传上游更改后有其他开发,您将创建一个新提交。
  • Cherry-pick 您想要在您刚刚拉下的上游更改之上的更改。从 gerrit 复制粘贴 git cherry-pick 命令
  • 通过上传到gerritgit push <server> HEAD:refs/for/<topicBranch>
于 2012-07-20T16:54:02.380 回答