Don't think of --force
as meaning "You shouldn't do this." Think of it more as meaning "You shouldn't do this unless you know what you're doing."
You do know what you're doing, and you're not causing anyone any trouble, so --force
isn't really a problem.
Remember that Git commits originate on someone else's machine before they reach the remote repo. So by pushing with --force
, you're not likely to be destroying work, because someone else already had that work on his/her machine.
I guess it comes down to this: You have the idea that --force
is ugly and dangerous. But why? Sure, it shouldn't be taken lightly. But it's a tool in your toolbox, and you know how to use it correctly. You could avoid ever incorporating the changes from master until your topic branch is done (or at least nearly done). Or you could each push to a private repo, which would still let you back up without having to worry about anyone else when force-pushing.
But if using --force
works, why worry about it?