You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用hg commit --amend替代废弃的hg rollback修正错误提交

用hg commit --amend修正错误提交的步骤

针对你不小心提交了所有修改文件(a/b/c/d)、只想保留a文件提交的场景,用hg commit --amend修正的具体操作如下:

  1. 记录错误提交的哈希值
    先获取刚才错误提交的变更集ID,执行命令:

    hg log -l1
    

    从输出里找到类似changeset: X:abcdef123456的行,记下这个哈希串(比如abcdef123456)。

  2. 将b/c/d恢复到提交前的原始状态
    把误提交的b、c、d三个文件还原到提交前未修改的状态,执行:

    hg revert -r .^ b c d
    

    这里的.^代表当前变更集的父节点,也就是你执行错误提交之前的状态。

  3. 用--amend修正提交
    现在工作区只有a文件是修改后的状态(和错误提交里的a一致),执行命令修正上一次提交:

    hg commit --amend
    

    此时会打开提交信息编辑器,你可以保留原有的提交信息,修改后保存退出即可。这一步会生成一个新的变更集,完全替换掉之前的错误提交,新提交只包含a文件的修改。

  4. 恢复b/c/d的修改到工作区
    最后从之前记录的错误提交中,把b、c、d的修改恢复到工作区,执行:

    hg revert -r abcdef123456 b c d
    

    把命令里的abcdef123456替换成你第一步记下的错误提交哈希。

操作完成后,你会得到一个仅包含a文件的正确提交,同时b、c、d的修改回到工作区,可随时提交。


内容的提问来源于stack exchange,提问作者Charlweed

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 00:02:37