我有一个有 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"
。