When using Git, I often find myself doing the following when working in master:
# work work work...
$ git checkout -b temp
$ git commit -a -m \'more
You can at least optimize the rebasing: git pull --rebase
I'm not exactly sure how you like things, but I like my workflow sort of like this:
git checkout -b temp
git commit -a -m 'more work done'
git pull --rebase origin master
That way I keep my focus on the branch at hand.
Then later, I do
git checkout master
git pull origin master
git merge temp
etc.