2017-05-31 1 views
0

Wenn ich meine Remote-Niederlassungen überprüfenWie durch alle Fern Zweige Schleife und ignorieren HEAD

git branch -r 

    remotes/1 
    remotes/2 
    remotes/HEAD -> origin/master 
    remotes/3 
    remotes/4 
    remotes/5 

Ich möchte alle Remote-Filialen mit einem Befehl zur Kasse. Ich kann es einfach Schleife durch die Ausgabe von git branch -r aber als es Probleme mit dem HEAD --> origin/master Teil zeigt, die ich ignoriert werden soll:

error: unknown switch `>' 
usage: git checkout [<options>] <branch> 
    or: git checkout [<options>] [<branch>] -- <file>... 

Gibt es eine Möglichkeit, dass ein Teil zu ignorieren?

+0

Versuchen Sie 'git branch -r | grep -v "->" ' – ElpieKay

Antwort

0

meisten stabil werden die Felder aus der Antwort von awk zu lesen:

git branch -r | awk '{print $1}' | awk -F/ '{print "remote="$1"; branch="$2";" }' | while read l 
do eval $l 
    echo git checkout -b $branch $remote/$branch 
done 

oder etwas ähnliches.

+0

Das zweite awk könnte durch' sed's @ ([^ /] *)/(. *) @ remote = \ 1 ersetzt werden; branch = \ 2 @ ', um Zweige zu behandeln, die '/' enthalten. – hlovdal

+0

ja "oder so ähnlich";) – ikrabbe

Verwandte Themen