Git rebase robusto e push alias

O fluxo de trabalho que tenho em meu projeto atual me faz repetir constantemente os comandos:

git checkout master ; git pull ; git checkout (working branch) ; git rebase ; git push origin (working branch name)

Isso estava ficando um pouco tedioso. Este link: http://stackoverflow.com/questions/12776015/git-alias-with-variables-not-working-as-expected-pathspec-did-not-match-any-fil
Mostra gentilmente como usar variáveis ​​em um git alias.

Desta forma, podemos configurar um alias para fazer toda a cadeia de comando confusa para nós. Mas, primeiro, para tornar mais fácil empurrar, siga as instruções nesta postagem:
http://coderwall.com/p/dnofpw

Em seguida, crie um novo alias em seu ~ / .gitconfig:

superupdate = !CURRENTBRANCH=$(git symbolic-ref --short HEAD) && echo Currently on $CURRENTBRANCH - switching to master && git checkout master && git pull && echo Going back to $CURRENTBRANCH && git checkout "$CURRENTBRANCH" && git rebase master && git push

Se você quiser ficar bem legal depois disso, pode adicionar um script de shell para abrir uma solicitação de pull no navegador (este código é específico para Mac, mas certamente pode ser adaptado para qualquer plataforma). Estou usando ZSH como meu shell aqui .

alias gitpullrequest="git superupdate; open -a Google Chrome "https://github.com/REPOSITORY/pull/new/BRANCH""""

Você deve substituir REPOSITORY e BRANCH pelas partes de URL apropriadas. Mas