(Git) git rm * で fatal: pathspec ‘ファイル名’ did not match any filesのエラー

git-rm-ignore-unmatch

 

先日、「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)」というエラーが発生したと言う訳だ。

fatal: pathspec ‘ファイル名’ did not match any files の原因

 

git管理のファイルを一気に削除しようとした際、
git管理以外のファイルもディレクトリ内に存在したため。

 

 

【解決策】ignore-unmatchオプション を付与する

「fatal: pathspec ‘ファイル名’ did not match any files」のエラーは、
ignore-unmatchオプションをつけることで回避可能だ。

「ignore-unmatchオプション」は、
*(全選択)で削除する際、git管理外のファイルは無視するよというオプションのことだ。

git rm --ignore-unmatch *

 

上記のようにignore-unmatchオプションを付与して、git rm * コマンドを打つことで、git管理外のファイルがあったとしても、(git管理としての)削除ではないよと言う意味になり、エラーが発生しなくなる。

 

関連記事

Gitのconifgファイルを理解する(system, global, localの違い・場所・編集方法など)
(Git) .gitignoreの書き方を解説

 

https://qiita.com/pugiemonn/items/2f6af4467b33ed3f41b5

 

 

 

記事が気に入った方はシェアをお願いします!

コメントを残す

メールアドレスが公開されることはありません。