À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