
Eu tenho um repositório git com 2 ramificações:
$ git branch
* master
test/branch
Posso listar filiais específicas individualmente fazendo o seguinte:
$ git branch --list master
* master
$ git branch --list test/branch
test/branch
No entanto, quando armazeno este comando como uma variável, obtenho resultados inesperados:
$ LOCAL=$(git branch --list master); echo $LOCAL
index.php readme.md master
$ LOCAL=$(git branch --list test/branch); echo $LOCAL
test/branch
Os resultados nem sempre são consistentes. Às vezes obtenho resultados inesperados de ramificações com barras, às vezes sem, dependendo do repositório com o qual estou trabalhando. Não consigo identificar exatamente o que está acontecendo ou por quê.
Por que listar uma ramificação lista os arquivos no diretório e na própria ramificação, e a outra apenas lista a ramificação?
Responder1
Acima, parece que o Bash está expandindo o *
que aparece no início do $LOCAL
. Tentar echo "$LOCAL"
.