为现有的 Gerrit 更改创建新分支

Create new branch for existing Gerrit change

我不小心向 Gerrit 提交了一个功能 (F) 的提交(我们称之为 C),而没有为 Gerrit 创建功能分支那个承诺。更改提交直接位于 develop 分支上。

我随后又对本地 master 进行了一次提交。

如何更新我的 Gerrit 更改,使其位于功能分支而不是 develop 分支?

我试过这个:

  1. 检查了我的本地提交功能 F
  2. 在提交 C
  3. 时创建了一个分支 feature/some_feature
  4. 修改为提交 C,但在新分支上(使用相同的更改 ID)
  5. 将新功能分支推送到 Gerrit

这会使用新内容更新 Gerrit 更改(我可以在网络界面中看到)。但是 GUI 中的 Branch 字段仍然具有值 develop。我希望将其更改为功能分支的名称,feature/some_feature

(在我的本地存储库中,我现在有两个功能 F 的提交,一个在 develop 上,一个在 feature/some_feature 上。这不是问题如果我正确地更改了 Gerrit。)

无法更改更改的目标分支。您需要 abandon/revert 原始更改并提交另一个到正确的分支。

首先:您是提交(合并)提交还是只是推送(送审)提交?如果提交 C 正在审查中,请使用 A​​bandon 按钮取消它。如果提交 C 已经合并,则使用 Revert 按钮将其还原。

最后使用 Cherry Pick 按钮在功能分支上应用相同的更改。注意:功能分支必须事先在 Projects > YOUR-PROJECT > Branches 菜单中创建。