How do you get arround issues with sharing branches between devs while using rebase. The oddness of pushing your history over other devs makes rebase extremely backwards for me.
That's why you never rebase something that's already been pushed to a public repo or some other shared "master" branch. Rebasing is for making a clean history before you merge into master or make your changes public.
It's really a magnificent tool because I never have to worry about the cleanness of my work-in-progress commits.