
Ich habe ein Git-Repository mit 2 Zweigen:
$ git branch
* master
test/branch
Ich kann bestimmte Zweige einzeln auflisten, indem ich Folgendes mache:
$ git branch --list master
* master
$ git branch --list test/branch
test/branch
Wenn ich diesen Befehl jedoch als Variable speichere, erhalte ich unerwartete Ergebnisse:
$ LOCAL=$(git branch --list master); echo $LOCAL
index.php readme.md master
$ LOCAL=$(git branch --list test/branch); echo $LOCAL
test/branch
Die Ergebnisse sind nicht immer konsistent. Manchmal erhalte ich unerwartete Ergebnisse von Zweigen mit Schrägstrichen, manchmal ohne, je nachdem, mit welchem Repository ich arbeite. Ich kann nicht genau sagen, was passiert oder warum.
Warum werden in der einen Auflistung die Dateien im Verzeichnis und der Zweig selbst aufgelistet, in der anderen Auflistung jedoch nur der Zweig?
Antwort1
Oben sieht es so aus, als würde Bash das erweitern, *
das am Anfang von erscheint $LOCAL
. Versuchen Sie es echo "$LOCAL"
.