Pushing to all git remotes with one command
If you are like me and a long-term
git user, you will probably
accumulate numerous remotes per repository (maybe one for
your private server, one for work, and so on).
Pushing to all of them can get a bit tedious, so I defined a new
gpa, which is of course short for
git push all:
git remote | xargs -L1 git push --all
Let us dissect this quickly:
- The need for
git remoteis obvious because it permits us to enumerate all remotes
- We need
xargs -L1in order to format the input to fit into one line
- Finally, the
git push --allpushes all branches to the specified remote
alias gpa='git remote | xargs -L1 git push --all' in my ZSH
configuration, so that I can use this command globally.
Happy committing, until next time!
Update: Conrad was kind enough to
point out that one can just as well modify
.gitconfig accordingly and
make this command an alias of the
[alias] pushall = !git remote | xargs -L1 git push --all