"Eventually you’ll discover the Easter egg in Git: all meaningful operations can be expressed in terms of the rebase command. Once you figure that out it all makes sense." - Linus Torvalds
I've never seen this article before, and it took me a long time to realize this. When I first started learning git I was basically told to avoid rebase like the plague - so I basically did anything to avoid it. Now I understand what's actually going on and how useful it is. Like the OP said, it's actually the tool you want most of the time. But, like I was advised when learning git, it's easy to shoot your foot off using rebase!