Mercurial:撤销最后一次提交

16

我原本在默认分支工作,但想切换到另一个分支工作。我进行了提交,但并没有推送。

现在我想切换到另一个分支并将更改提交到该分支,但又不想将提交内容推送到默认分支。

我该如何撤销那个提交?

2个回答

28
如果您还在草稿阶段(未推送到其他地方),请使用内置扩展hg strip <rev>命令。否则,您应该执行hg backout,以撤销该变更集。
如果您仍需要提交的内容,建议在剥离之前将其导出到正确的分支中,然后再进行导入

4
如果您还没有推送更改,hg rollback也可能很有用。 - rpeshkov
@black_wizard 是的,大多数情况下,如果你想追踪错误的变更集! - Vince
“strip”是一个扩展名吗?我的hg帮助输出没有将其列为有效命令。 - Alex
3
@Alex,是的,它是一个内置扩展;要启用它,请编辑您的.hgrc文件,在[extensions]部分下添加strip=即可。 - congusbongus

1
如果“另一个分支”已经存在,您必须使用hg rebase(必须启用rebase extension)将变更集移动到该分支。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接