
我有一個有 2 個分支的 git 儲存庫:
$ git branch
* master
test/branch
我可以透過執行以下操作來單獨列出特定分支:
$ git branch --list master
* master
$ git branch --list test/branch
test/branch
但是,當我將此命令儲存為變數時,我得到了意外的結果:
$ LOCAL=$(git branch --list master); echo $LOCAL
index.php readme.md master
$ LOCAL=$(git branch --list test/branch); echo $LOCAL
test/branch
結果並不總是一致的。有時,我從帶有正斜杠的分支中得到意想不到的結果,有時沒有,這取決於我正在使用的存儲庫。我無法確切地知道發生了什麼或為什麼發生。
為什麼列出一個分支會列出目錄中的檔案和分支本身,而另一個只列出分支?
答案1
上面,看起來 Bash 正在擴展*
出現在 開頭的$LOCAL
。嘗試echo "$LOCAL"
。