git reset --soft, any changes are left as staged (or "ready to commit")git reset --mixed, any changes are left as unstagedgit reset --hard, any changes are discarded
Example:
git reset --soft HEAD^Shortcuts for path-specs
HEADis the current commitHEAD^is the same asHEAD~1, meaning one commit back from current commitHEAD^^is the same asHEAD~2, meaning two commits back from current commit