Auf alle git remotes aufeinmal pushen
Published by Martin Stoffers on Sep 17 2013

Beim lernen in der FH wurde uns heute das pushen auf mehrere git server, sprich verschiedene remotes, zu mühsam. Zwar tut ein git push origin master && git push github master genau das was man möchte, aber man kennt ja nicht immer alle remotes in jedem Repository. Also haben wir uns schnell mit einer kleinen Shellfunktion beholfen.

Diese einfach in die .zshrc einfügen:

function powerpush(){
    for repo in $(cat .git/config | sed -n 's/^\[remote "\(.*\)"\]/\1/p')
        git push $repo master
}

Und schon kann man mit powerpush einfach auf alle Remotes pushen, die in der config eingetragen sind.
Das funktioniert natürlich auch in der bash. Dafür benötigt man aber noch die typischen do und done um die Kommandos innerhalb der for-Schleife.


Add comment