我使用 Gerrit 犯了一个致命的错误,想知道是否有人可以为此提供解决方案/想法:
目前的情况是我有一个分支feature-foo,我们的团队正在将更改推送到该分支以供审核。其中一些更改已经提交/合并,并且仍有大量更改供审核。现在,昨天我决定将补丁集推送到特定更改,其中包含大约 15 个之前的更改(尚未合并)。
我不小心推过了代码审查(是的,我确实有这些权限,是的,我很愚蠢,为了我自己的安全没有停用它们 - 吸取了教训)。这导致这 15 个更改/提交被直接推送到分支而不是代码审查。所以现在所有这些更改都MERGED在 Gerrit 中进行了标记。我的直接想法是push -f使用我知道最初是feature-foo.
这正确地将分支重置到它应该在的位置。但是 - 这 15 个更改仍然MERGED在 Gerrit 中标记。我想要的是:我需要将这些更改返回到“正在审核”状态,因为它们实际上仍在进行中。
任何想法,任何人?我无法想象这之前没有发生在某人身上......
问候,
--qu
编辑 1:澄清 - 错误推送的提交导致快进 - 而不是合并。尽管如此,对于 Gerrit 来说,这些更改/提交仍然是“已合并”,就好像有人在 Gerrit-Web 界面中按下了“提交更改”一样。所以 -这个问题实际上是关于 Gerrit,而不是 Git 本身。
关键词:意外推送,意外合并
好吧,事实证明这成功了: