I understand that when I use git pull --rebase, git will re-write history and move my local commits to occur after all of the commits in the branch I just pulle
Commit to a branch. Push. Merge up to another branch (say you're maintaining two baselines, a patch branch and a new-development branch). Realize other commits have been pushed to the server branch yours is tracking. pull --rebase. Suddenly you've re-made each of the commits against the new hash - and destroyed the merge commit.