How a rebase froze my whole team for half a day

Early in my career, a shared feature branch several of us were working on had "messy" history that bugged me. Trying to help, I tidied it up with a rebase and overwrote it with git push --force. My local history looked beautifully linear. I walked away from my desk feeling great.
Thirty minutes later, the team chat lit up. "I get a wall of conflicts when I pull." "There are two of the same commit." "Whose local is even correct?" I had rewritten history everyone had already pulled and shared. It clashed with every teammate's local copy, and the whole morning vanished into recovery work.
That day the rule got carved into me: never rewrite history you have pushed and shared, not because a rulebook says so, but because it hurt. On the other hand, a catch-up rebase on a branch you haven't pushed yet pulls no one else in. Make your history clean on your own machine, before you share it.
