How to cancel a local git commit
If you're in the middle of a commit (i.e. in your editor already), you can cancel it by deleting all lines above the first #
. That will abort the commit.
So you can delete all lines so that the commit message is empty, then save the file:
You'll then get a message that says Aborting commit due to empty commit message.
.
The first thing you should do is to determine whether you want to keep the local changes before you delete the commit message.
Use git log
to show current commit messages, then find the commit_id
before the commit that you want to delete, not the commit you want to delete.
If you want to keep the locally changed files, and just delete commit message:
git reset --soft commit_id
If you want to delete all locally changed files and the commit message:
git reset --hard commit_id
That's the difference of soft and hard
Just use git reset
without the --hard
flag:
git reset HEAD~1
PS: On Unix based systems you can use HEAD^
which is equal to HEAD~1
. On Windows HEAD^
will not work because ^
signals a line continuation. So your command prompt will just ask you More?
.
Use --soft
instead of --hard
flag:
git reset --soft HEAD^
It will remove the last local (unpushed) commit, but will keep changes you have done.