gpt4 book ai didi

git - 如何在不丢失 +2 票的情况下一次重新设置 Gerrit 审查的所有提交?

转载 作者:行者123 更新时间:2023-12-03 22:11:13 26 4
gpt4 key购买 nike

我有几个提交的更改,例如:

  • 最后
  • 第二个
  • 第一

  • 我已收到 +2 merge ,但不幸的是 master 已移动,并且其中一个提交显示为“merge 冲突”,因此我无法一次提交所有提交。

    但是,当我尝试在本地 rebase 时, rebase 是微不足道的。而且,如果我在 Web 界面上使用 Rebase,它会成功解决冲突。

    然而,在本地重新定位的问题是,我会失去 +2 票,并且不得不再次惹恼评论者。

    Web 界面确实保留了我的 +2 票,但我还没有找到一种方法来一次重新设置所有提交:我能做的最好的是:
  • rebase first关于新主人
  • rebase second在第一个顶部 Rebase on parent change
  • 依此类推,直到最后一次提交

  • 如果我尝试直接在 Web UI 上重新设置最后一次提交,就像我在 CLI 中所做的那样,Gerrit 警告我这会破坏关系链:
    Rebase on top of the master branch (breaks relation chain)

    我认为这意味着只有一次提交会在 master 之上,而不是像我想要的那样 rebase ?

    有没有办法一次重新调整所有基础,而不会失去我的 +2 票?

    在 Gerrit 2.16.2 上测试。

    最佳答案

    当您对多个补丁集(提交)进行一次更改时,您不需要重新设置每个提交的基础,您只需要重新设置最后一次提交。实际上,您将仅提交(集成/merge )最后一次提交而不是整个链。每次修改补丁集时,都会创建一个新的提交来替换之前的提交。

    如果您对这个概念感到困惑,最好阅读 Working with Gerrit: An example Gerrit 文档中的项目。

    回答您的问题:当您重新设置补丁集时,Gerrit 将根据 copyAllScoresOnTrivialRebase 处理 +1/+2 投票。项目的配置。如果为 true,则在上传新的补丁集时,标签的所有分数都会向前复制,这是一个微不足道的 rebase 。如果 rebase 是手动制作并推送或使用 Web UI 制作的,则其工作方式没有区别。如果您得到不同的行为,请确保您没有更改提交消息。

    A new patch set is considered as trivial rebase if the commit message is the same as in the previous patch set and if it has the same code delta as the previous patch set.

    关于git - 如何在不丢失 +2 票的情况下一次重新设置 Gerrit 审查的所有提交?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54307382/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com