Mastering Git reset: commit alchemy
medium.com