【问题标题】:How to wind back a commit using "hg revert"?如何使用“hg revert”回退提交?
【发布时间】:2017-11-12 17:42:58
【问题描述】:

我做了一个提交,我不得不在我的服务器上恢复,因为它不起作用。我做了“hg revert --all --rev 855”,并从我的 Bitbucket 和本地删除了我的更改。当我执行“hg update”并尝试提取我所做的下一个更改时,我得到了“abort: crosses branchs (use 'hg merge' to merge or using 'hg update -C' to discard changes)”

我怎样才能继续进行所需的更改并失去提交/头部?

【问题讨论】:

  • 为什么贴上“git”标签?在任何情况下,hg revert 的意思是“将文件设置回以前的状态”,而不是“撤消提交”。尝试完全删除 (hg strip) 已发布的提交通常是个坏主意;相反,您通常希望添加一个新的提交来反转先前提交的效果,这在 Mercurial 中是通过 hg backout 完成的。

标签: mercurial tortoisehg


【解决方案1】:

你想做一个backout 而不是revert。首先,通过删除所有未提交的文件来清理您的工作目录:

hg revert -a

然后使用backout 删除有问题的提交:

hg backout -r 855

系统将提示您输入提交消息。保存它,你就可以开始了。

【讨论】:

    猜你喜欢
    • 2012-12-18
    • 2011-01-15
    • 2019-01-06
    • 2012-11-25
    • 2011-04-28
    • 1970-01-01
    • 1970-01-01
    • 2015-02-14
    • 2017-07-09
    相关资源
    最近更新 更多