先日、「git rm *」コマンドを使ったところ、以下のようなエラーが発生した。
fatal: pathspec ‘ファイル名’ did not match any files
本記事では、上記のような
「fatal: pathspec ‘ファイル名’ did not match any files」のエラーが出た時の対処法を解説していく。
fatal: pathspec ‘ファイル名’ did not match any files の原因
結論から言うと、git rm * で、「fatal: pathspec ‘ファイル名’ did not match any files」のエラーが出た原因は、git管理以外のファイルもディレクトリ内に存在したためだ。
「git rm *」コマンドは、git管理のファイルを削除する時に使用するコマンドである。
しかし、git管理のファイルを一気に削除しようとした際、git管理以外のファイルもディレクトリ内に存在したため、「そんな(削除対象の)ファイルは管理してないよ(‘ファイル名’ did not match any files)」というエラーが発生したと言う訳だ。

【解決策】ignore-unmatchオプション を付与する
「fatal: pathspec ‘ファイル名’ did not match any files」のエラーは、
ignore-unmatchオプションをつけることで回避可能だ。
「ignore-unmatchオプション」は、
*(全選択)で削除する際、git管理外のファイルは無視するよというオプションのことだ。
git rm --ignore-unmatch *
上記のようにignore-unmatchオプションを付与して、git rm * コマンドを打つことで、git管理外のファイルがあったとしても、(git管理としての)削除ではないよと言う意味になり、エラーが発生しなくなる。
関連記事
https://qiita.com/pugiemonn/items/2f6af4467b33ed3f41b5
git管理のファイルを一気に削除しようとした際、
git管理以外のファイルもディレクトリ内に存在したため。