「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」はひとつのファイルだぞ!と明示する必要があるのですが、バックスラッシュでエスケープするだけではだめでした。 http://app.road.jp.net/?p=892 ファイル名をダブルクォートで囲んで半角スペースをバックスラッシュでエスケープ
git rm "tokyo \disney \land.txt"
でいけました。 イレギュラーなファイル名で困ったときはこの方法でいけそうです。