I like this best.
It enables you to build your feature and then squash the commits into one idempotent feature commit which keeps commit clutter out of the git logs.
Just keeping your branch rebased daily, one will have minimal problems even on big teams.
I personally love developing on my own branch and having the freedom to experiment without messing stuff up.