web-dev-qa-db-ja.com

gitを保存すると変数になり、奇妙な動作になります

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つのブランチリストファイルをディレクトリとブランチ自体にリストし、もう1つにブランチだけをリストするのはなぜですか?

5
Audite Marlow

上記では、Bashが*の先頭に表示される$LOCALを展開しているようです。 echo "$LOCAL"をお試しください。

5
Matei David