Search code examples
gitcommitundogit-amend

How can i revert a git commit --amend -m without losing my original hashcode and the code i supposed to commit?


I need to revert a wrong git commit --amend -m

  1. did git commit without -m
  2. did git commit --amend -m "commit message"
  3. git commit --amend -m "commit message" changed my previous commit instead of the one i supposed to commit.

is it possible to revert to before the step 1 without losing my original hashcode or the code i supposed to commit?

commit is not pushed yet btw


Solution

  • git reset --soft "HEAD@{1}"
    git commit -m "commit message"
    

    HEAD@{1} means "find where HEAD was before the current commit". You can verify it's really the previous (unmodified) commit using git reflog and git show "HEAD@{1}".