My last post got fairly positive feedback, 77% upvotes on Reddit. But in the comments I was asked to add an important practical use-case, how to split commits. So instead of editing my previous post, I decided to make a new post demonstrating how I would do that.
Rebasing in Git is basically replaying commits on top of each other. But with interactive rebase you are in control of how they should be replayed and what should be done with them. You can re-arrange them, skip them, reword them, edit their changes and squash them together. This is a very powerful tool.