Help: rollback

hg rollback

roll back the last transaction (DANGEROUS) (DEPRECATED)

Please use 'hg commit --amend' instead of rollback to correct mistakes in the last commit.

This command should be used with care. There is only one level of rollback, and there is no way to undo a rollback. It will also restore the dirstate at the time of the last transaction, losing any dirstate changes since that time. This command does not alter the working directory.

Transactions are used to encapsulate the effects of all commands that create new changesets or propagate existing changesets into a repository.

For example, the following commands are transactional, and their effects can be rolled back:

  • commit
  • import
  • pull
  • push (with this repository as the destination)
  • unbundle

To avoid permanent data loss, rollback will refuse to rollback a commit transaction if it isn't checked out. Use --force to override this protection.

The rollback command can be entirely disabled by setting the "ui.rollback" configuration setting to false. If you're here because you want to use rollback and it's disabled, you can re-enable the command by setting "ui.rollback" to true.

This command is not intended for use on public repositories. Once changes are visible for pull by other users, rolling a transaction back locally is ineffective (someone else may already have pulled the changes). Furthermore, a race is possible with readers of the repository; for example an in-progress pull from the repository may fail if a rollback is performed.

Returns 0 on success, 1 if no rollback data is available.


-n --dry-run do not perform actions, just print output
-f --force ignore safety measures

global options ([+] can be repeated):

-R --repository REPO repository root directory or name of overlay bundle file
--cwd DIR change working directory
-y --noninteractive do not prompt, automatically pick the first choice for all prompts
-q --quiet suppress output
-v --verbose enable additional output
--color TYPE when to colorize (boolean, always, auto, never, or debug)
--config CONFIG [+] set/override config option (use '')
--debug enable debugging output
--debugger start debugger
--encoding ENCODE set the charset encoding (default: UTF-8)
--encodingmode MODE set the charset encoding mode (default: strict)
--traceback always print a traceback on exception
--time time how long the command takes
--profile print command execution profile
--version output version information and exit
-h --help display help and exit
--hidden consider hidden changesets
--pager TYPE when to paginate (boolean, always, auto, or never) (default: auto)