Git Basics: Rewriting a branch's commit history from scratch
medium.com