How to edit incorrect commit message in Mercurial?

This question already has an answer here:

  • Mercurial: how to amend the last commit? 6 answers

  • Update: Mercurial has added --amend which should be the preferred option now.


    You can rollback the last commit (but only the last one) with hg rollback and then reapply it.

    Important : this permanently removes the latest commit (or pull). So if you've done a hg update that commit is no longer in your working directory then it's gone forever. So make a copy first.

    Other than that, you cannot change the repository's history (including commit messages), because everything in there is check-summed. The only thing you could do is prune the history after a given changeset, and then recreate it accordingly.

    None of this will work if you have already published your changes (unless you can get hold of all copies), and you also cannot "rewrite history" that include GPG-signed commits (by other people).


    Well, I used to do this way:

    Imagine, you have 500 commits, and your erroneous commit message is in r.498.

    hg qimport -r 498:tip
    hg qpop -a
    joe .hg/patches/498.diff
    (change the comment, after the mercurial header)
    hg qpush -a
    hg qdelete -r qbase:qtip
    

    Good news: hg 2.2 just added git like --amend option.

    and in tortoiseHg, you can use "Amend current revision" by select black arrow on the right of commit button

    一个

    链接地址: http://www.djcxy.com/p/37570.html

    上一篇: 有没有办法在Mercurial中删除本地提交?

    下一篇: 如何在Mercurial中编辑不正确的提交消息?