【问题标题】:gerrit rebase review branch on latest changes from upstream branchgerrit rebase review 来自上游分支的最新变化的分支
【发布时间】:2012-07-14 23:39:11
【问题描述】:

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

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

  • 根据上游的最新更改重新设置本地主题分支;
  • 强制将本地主题分支中的新提交(没有提交到 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

这个架构会起作用吗?

【问题讨论】:

    标签: git gerrit


    【解决方案1】:

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

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

    【讨论】:

    • 但是如果它是一个关闭更改的功能分支,你会得到(change https://review.gerrithub.io/123..321 closed),有什么办法可以处理吗?
    猜你喜欢
    • 2021-01-23
    • 2015-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-11
    • 2021-03-25
    • 2023-01-13
    相关资源
    最近更新 更多