Salve seu trabalho para levá-lo para casa sem poluir sua história

Às vezes, estou trabalhando em algo no escritório e quero continuar trabalhando em casa, mas ainda não estou pronto para ser comprometido. Eu só faço:

$ git stash
$ git checkout
-b WIP
$ git stash pop

$ git commit
-m "WIP"
$ git push origin WIP

Que confirma minhas alterações em um branch chamado wip. Em casa eu faço:

$ git fetch
$ git checkout
-b WIP
$ git merge origin
/WIP

E eu vou embora, comprometendo-me se necessário. De volta ao trabalho, é uma simples questão de:

$ git pull
$ git rebase
-i master

E depois de limpar minha história e reorganizar meus commits:

$ git checkout master
$ git merge WIP

$ git push origin
:WIP