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↩︎


I do self-funded research and I'm writing a book.

> What's the book about?

About technologies and agency.

Meaning, technologies can foster agency. No doubt. But I am also asking:

Can usage of technologies give us a sense of empowerment while in fact undermining our abilities?

I posted a summary of the prologue on the homepage:


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

No affiliate links, no analytics, no tracking, no cookies. This work © 2016-2024 by is licensed under CC BY-ND 4.0 .   about me   contact me   all entries & tags   FAQ   GPG public key

GPG fingerprint: 2E0F FB60 7FEF 11D0 FB45 4DDC E979 E52A 7036 7A88