The simple answer is to keep everything organized.
I usually keep a local master branch and a work branch. So that I know which code is perfect and ready to go. Then I branch out work with some features and/or bug fixes. I keep merging master with work time to time so it simply makes it easy for me to push my changes to remote.
I started this so if I got bored working on one thing I could easily jump to something else. I can just ignore the first task for a while and return to it when I get the "brain wave" for it.
You are perfectly in your rights to do what you wish on your local repository. It is a question of "To branch or Not to branch" and it will stay that way. When it comes to local branching I would simply suggest to "use the force".
So do whatever you feel that is productive.