web-dev-qa-db-ja.com

Gitは名前にスペースを含むフォルダを追加します

問題

ステージング領域に何かを追加したいときは、通常git add <folder-name>と入力します。ただし、名前にスペースが含まれるフォルダを追加することはできません。私のgit addオートコンプリートがスペースを正しくエスケープしません。

例えば

次の名前のフォルダがあります:フォルダA

コマンドgit add F < tab-autocomplete >を実行すると、git add Folder A/になります。このフォルダを追加しようとすると、エラーが発生します。

fatal: pathspec 'Folder' did not match any files

これは、正しい構文がgit add Folder\ A/である必要があるためです。

概要

ただし、これを修正する方法がわからないため、恒久的な修正を行ったリソースが見つかりません。この問題「 gitがスペースを含むフォルダー名を処理する方法 」は修正について説明しています。しかし、それは私が本当にしたくないフォルダ名の周りにスピーチマークを付けることを含みます。より良い解決策はありますか?

私はgitバージョン2.2.0とzshバージョン5.0.7を使用しています。前もって感謝します!

19
Jonathan Yeong

解決策は、フォルダー名を 'および'(一重引用符)で囲むことです。
あなたの例では、以下を試してください:

git add 'Folder A'

これが役に立てば幸いです:)

34
WildChild

zshによるgitの補完:スペースを含むファイル名が適切にエスケープされていない 」で説明されている設定が機能するかどうかを確認します。

タブ補完を使用してファイル名を挿入すると、シェルのバックスラッシュがファイル名をエスケープします。

% echo "testing" >> test<tab>

タブを3回押すと、これが自動補完されます。

% echo "testing" >> test\ four\ -\ latest.txt

言い換えれば、適切な補完にはquptes(")、ただしスペースはエスケープする必要があります。

0
VonC