The article misses mention of git reflog – rebase with no fear :)
So very important. I’d been using and hating git for at least a couple of years before I learned about git reflog. Discovering that everything in git has an undo button dramatically changed my perspective on it. About the only ways you can really lose data with git are by damaging the .git directory via non-git commands (or system failure) or by failing to commit things (i.e. in both cases by not using git). The only way git can lose data is if you generate so much junk that it runs a git gc in between your dropping something from your branches and remembering to hit undo.
Seems to be a more picture oriented version of https://git-rebase.io/
I strongly commend this to everyone. You’ll often want to try a few approaches in development that don’t need to show up in the final git history.
Take few minutes to clean up history on your branch, and review your own changes while you’re at it.
The article misses mention of the better interactive rebase tool: git revise
Can split commits + Doesn’t touch files while rewriting history = Never was it easier to slice and dice your code into commits while it’s compiling.