| 4 minute read
Have you ever commited something unintentionally? If you have, you might reach for
git reset to roll your history back.
Roll back and keep your changes
To keep your changes you'll use the
The following will roll back one commit from your current state.
$ git reset --soft HEAD~1
Roll back and discard your changes
If you never want to see that code again you'll use the
--hard flag. There is no undo for this, so be careful! I've definitely learned this lesson the hard way.
The following will roll back one commit from your current state and discard all changes.
$ git reset --hard HEAD~1
To reset your HEAD to a specific commit
If you are looking to roll back to a specific commit you will pass the id of that commit. The commit you pass will become the new
HEAD of your tree.
$ git reset --soft 32eccb1
There is a lot more that
git reset can do for you. You can find the docs here if you want to know more.
If you are just looking to edit the commit itself and not roll your history back you might be looking for
git commit --amend. The docs for this can be found here.