in-line 编辑后 gerrit 错误 "change closed"

gerrit error "change closed" after in-line edit

我已经 in-lined 编辑(通过 gerrit UI)一个 patch-set。它被接受并提交,因此这个 change-set 已被合并并关闭。此更改确实有一些 children 尚未提交。 in-line 编辑确实为这个特定的变更集创建了一个新的提交 ID。

在那之后,我确实提取了提交的更改来更新我的本地 b运行ch。我需要 pull --rebase,因为 fast-foward 合并是不可能的。变基使我进入了由 in-line 编辑引入的提交。我修复了由我的 in-line eidit 和 运行 rebase --continue 引入的冲突。现在将我的 b运行ch 推送到 gerrit 会拒绝消息:! [remote rejected] HEAD ... (change http://.../93 closed),其中 http://.../93 是我刚刚插入的 change-set。

是的,确定它已关闭,因为它已提交并合并到远程。那么为什么要 git 将拉入的提交推送到远程。 或者开门见山:如何避免这种情况,因为在此之后有超过 13 次提交(包括一次合并到另一个 b运行ch)。


更多信息:

$ git log * 7316eba - (HEAD -> feature#93) * b23274f * 32ae464 * 2cd68bb * d485183 - (origin/feature#93)

提交 d485183 是由 in-line 编辑引入的。此提交与 gerrit change-set 中显示的相同。 Commit 2cd68bb 以上的还没有提交。属于这些提交的 change-sets 确实在 gerrit UI.

中显示路径冲突

回答我自己的问题: Commit 2cd68bbd485183 的旧工作状态。因此两者都具有相同的更改 ID。 pull --rebase 已经在 gerrits 新提交的基础上重新定位我的东西。我通过删除提交 2cd68bb.

来修复它