Git reset tricks

# `soft` flag and `HEAD^` will drop last commit and keep changes.
git reset --soft HEAD^

# `hard` flag and `HEAD^` will drop last commit but it won't keep changes.
git reset --hard HEAD^