
Tengo un repositorio git con 2 ramas:
$ git branch
* master
test/branch
Puedo enumerar ramas específicas individualmente haciendo lo siguiente:
$ git branch --list master
* master
$ git branch --list test/branch
test/branch
Sin embargo, cuando almaceno este comando como una variable, obtengo resultados inesperados:
$ LOCAL=$(git branch --list master); echo $LOCAL
index.php readme.md master
$ LOCAL=$(git branch --list test/branch); echo $LOCAL
test/branch
Los resultados no siempre son consistentes. A veces obtengo resultados inesperados de ramas con barras diagonales, a veces sin ellas, dependiendo del repositorio con el que estoy trabajando. No sé exactamente qué está pasando ni por qué.
¿Por qué enumerar una rama enumera los archivos en el directorio y la rama misma, y la otra solo enumera la rama?
Respuesta1
Arriba, parece que Bash está expandiendo el *
que aparece al comienzo de $LOCAL
. Intentar echo "$LOCAL"
.