How do you “rollback” last commit on Mercurial?

后端 未结 3 475
梦毁少年i
梦毁少年i 2021-02-01 00:36

I have a Mercurial repository that I use in local only... It\'s for my personal usage (so I don\'t \"push\" anywhere).

I made a commit with 3 files, but after that I und

相关标签:
3条回答
  • 2021-02-01 00:46

    The answer is strip (if you don't have it enabled you can check how to enable it here: https://stackoverflow.com/a/18832892/179581).

    If you want to revert just the latest commit use:

    hg strip --keep -r .
    

    If you want to revert to a specific commit:

    hg strip --keep -r 1234
    

    Using strip will revert the state of your files to the specified commit but you will have them as pending changes, so you can apply them together with your file to a new commit.

    Recover your stripped data:

    If you miss-used the command or you want to recover your changes you can find your stripped files in the .hg/strip-backup folder.

    Tutorial on how to restore your files, or just google for it (works the same on all OS).

    Credit to ForeverWintr

    0 讨论(0)
  • 2021-02-01 00:47

    In modern hg:

    hg uncommit

    or, for your exact problem:

    hg add file4
    hg amend
    
    0 讨论(0)
  • 2021-02-01 01:10

    You just need this command:

    hg rollback
    

    See: http://hgbook.red-bean.com/read/finding-and-fixing-mistakes.html.

    (Technically, this is deprecated as of version 2.7, August 2013, but I've yet to see an alternative that does exactly the same thing.)

    0 讨论(0)
提交回复
热议问题