hg rollback on pushed commit changed phase to draft from public

hg rollback on pushed commit changed phase to draft from public

我不小心对已经推送到上游的提交做了 hg rollback。但令我惊讶的是,它没有失败,而是给了我以下响应:

repository tip rolled back to revision 5786 (undo push-response: https://blah-blah)

hg log表示相位从public变回了草稿.

[draft]  5786 feature/foo User some-commit-message (66 seconds ago) tip
[public] 5785 feature/foo User some-other-commit-message (5 minutes ago)

我试过 hg update -C 但似乎没有用。我怎样才能将存储库恢复到原来的状态?

编辑: 我做了一个 hg push,它把相位恢复到 public。所以我就在这里。我怎样才能阻止这种行为?将阶段更改为草稿无济于事 取消推送 无论如何!

注意:我正在使用 Mercurial 分布式 SCM(版本 4.3.2)

您根本不应该使用 hg rollback,它已被弃用(如 hg help rollback 中所述)。您的印象是 rollback 撤消了最后一次提交。那是不正确的。相反,它会回滚最后一个 事务 ,这可能不一定是提交。

将来,研究 histedit or evolve 历史重写扩展。