DEV Community

Want to remove/delete your last commit? Here is how.

foadlind on March 09, 2020

1. To remove a commit done locally: You made a commit and then realized you want to remove it. But, you still want to keep your changes....
Collapse
 
dawidtabak profile image
Dawid Tabak •

You could slightly shorten the first command with

git reset --soft HEAD^

This is especially handy when using git in powershell cli on windows, where you'd otherwise have to put 'HEAD@{1}' inside quotes.

Collapse
 
nights profile image
Mateo •

Let's go even shorter 🤤

git reset --soft @^
Collapse
 
foadlind profile image
foadlind •

Yes you are right. I will update the article. Thanks.

Collapse
 
danielpdev profile image
danielpdev •

Great post.
You could also use git reset --hard HEAD~1 to remove the last commit, be aware that it will also remove all of your uncommitted changes.

Collapse
 
darshanraval profile image
Darshan Raval •

Hey It's Nice. It's very useful for me. 😁

Collapse
 
mikedubcurry profile image
Michael Curry •

say I push some api secrets to the repo. Would the second method overwrite the commit or will,say my .env file still be accessible?

Collapse
 
mikedubcurry profile image
Michael Curry •

When I started out, I left my .env files out of .gitignore for the majority of a project and had to resort to starting a fresh repo. Was that necessary if the commits were already so far back in the history?

Collapse
 
lt0mm profile image
Tom •

As I understand you can use interactive rebase and then push force. I used this way and I could not find later any mention of my secret word, I hope somebody corrects me if I'm wrong

git rebase -i {prev_commit_hash}
git push -f

PS Interactive rebase is a big topic itself, but to delete commit it's enough to write "d" or "drop" in commit line which you want to delete

Thread Thread
 
mikedubcurry profile image
Michael Curry •

Oh ok. At the time I ended up deleting the repo and copy pasting my files in with an updated .gitignore. Good to know there’s a better alternative

Collapse
 
nollidnosnhoj profile image
Dillon Johnson •

Nice. Thanks for the tip! Very useful!

Collapse
 
maedox profile image
Pål Nilsen •

I recently started using the Github desktop app and found that it has an undo button.

Collapse
 
hoxtygen profile image
Idowu Wasiu •

Thanks for this. I'm planning on having git command collection so I don't have to do a Google search each time I need to do something sinister with git. This one is handy.