August 22, 2023

Undo the last local commit

To undo the last local commit run:

$ git reset HEAD~                              

The files you had commited are now unstaged. Your shell (terminal) should print something like this:

Unstaged changes after reset:
M   file
D   file

That’s it. You can do your modifications or whatever, but, do not use this command if you want to undo a commit which has been pushed to a remote server.

Next, once you’ve done your modifications or else, if you want to reuse the message of the undone commit for the to-be-made commit, you can use the option -c and append it with ORIG_HEAD such as:

$ git commit -C ORIG_HEAD

Alternatively, if you want to reuse the message but need to edit it, use the option -c (small cap c instead of large cap for no edits).

$ git commit -c ORIG_HEAD

should prompt your shell to open the default text editor for the commit message to be edited.

There is more you can do with reset. You can run $ man git-reset to learn more about reset or see examples.

Git is copyleft-licensed and was first released in 20051.

See also:

Source: $ man git-reset.


  1. $ less /usr/share/doc/git/copyright↩︎


personal computing command-line interface (cli) gnu linux trisquel shell literacy office applications wiki git

No affiliate links, no analytics, no tracking, no cookies. © 2016-2023 yctct.com. Content is licensed under CC BY-NC-SA 4.0 .