「tokyo disney land.txt」というファイルがあったとして、これをgit rmしようとすると、
git rm tokyo disney land.txt
fatal: pathspec 'tokyo' did not match any files
となってしまう。 複数のファイルをrmするときは半角スペースで区切るので、「tokyo」「disney」「land.txt」の3ファイルを削除する命令になってしまっているというわけ。 さて、半角スペースをエスケープして「tokyo disney land.txt」はひとつのファイルだぞ!と明示する必要があるのですが、バックスラッシュでエスケープするだけではだめでした。
【git】 特殊文字を含むファイルをgit rmする方法
ファイル名をダブルクォートで囲んで半角スペースをバックスラッシュでエスケープ
git rm "tokyo \disney \land.txt"
でいけました。 イレギュラーなファイル名で困ったときはこの方法でいけそうです。