Rever
git reset --soft HEAD~1
Lucky Lapwing
git reset --soft HEAD~1
$ git reset --soft HEAD~1
git reset HEAD~
git reset --hard HEAD
git log
commit 101: bad commit # Latest commit. This would be called 'HEAD'.
commit 100: good commit # Second to last commit. This is the one we want.
To restore everything back to the way it was prior to the last commit, we need to reset to the commit before HEAD:
git reset --soft HEAD^ # Use --soft if you want to keep your changes
git reset --hard HEAD^ # Use --hard if you don't care about keeping the changes you made
git checkout . #This will get rid of all uncommited change