← エラー辞典に戻る

環境構築

error: pathspec '...' did not match any file(s) known to git

指定したファイル・ブランチが見つからない

こんな症状

git commit / checkout / add で「pathspec did not match any file(s)」と表示される。コミットメッセージの引用符忘れ、ファイル名・ブランチ名のタイポで起きるよ。

まず試す

git commit のメッセージを必ず引用符で囲む。ファイル名・ブランチ名のスペル(大文字小文字も)を確認する。

env
# ❌ 引用符を忘れている
$ git commit -m Fix bug

# ✅ メッセージは引用符で囲む
$ git commit -m "Fix bug"

これで直らなければ、下の「自分のケース」を確認。

🔍 自分のケースはどれ?

  • git commit -m のメッセージに引用符がない
    → 「Fix bug」の bug がファイル名扱いになる。-m の後を "" で囲む。
  • ファイル名・ブランチ名のタイポ
    → 大文字小文字も区別される。git status / git branch -a で正しい名前を確認する。
  • リモートのブランチに checkout したい
    → 先に git fetch origin してから git checkout する。

なぜ起きる?

いちばん多いのは git commit -m のメッセージを引用符("")で囲み忘れたケースだよ。「git commit -m Fix bug」と書くと、Gitは「Fix」をメッセージ、「bug」をファイル名だと解釈して、bugというファイルを探しに行ってしまうんだ。ほかには、ファイル名・ブランチ名のタイポ(大文字小文字の違いも区別される)、.gitignoreで除外されているファイルの指定、git fetchしていないリモートブランチへのcheckoutでも起きるよ。

✕ エラーが起きるコード
$ git commit -m Fix bug
error: pathspec 'bug' did not match any file(s) known to git

$ git checkout feature/login
error: pathspec 'feature/login' did not match any file(s) known to git
✓ 直したコード
# 1. メッセージは引用符で囲む
$ git commit -m "Fix bug"

# 2. ブランチはfetchしてからcheckout
$ git fetch origin
$ git checkout feature/login

✅ 直ったか確認

コマンドがエラーなく完了し、git status や git log で結果が反映されていればOK。

🆘 まだ直らないときは

.gitignore で除外されているファイルを指定していないかも確認しよう。

Q&Aで質問する →

この解決法は役立ちましたか?

🔗 関連するエラー

🔗 別カテゴリの関連エラー

📖 この問題を学べるレッスン

Gitレッスン2:はじめてのGit操作で根本から理解する →

✏️ 手を動かして練習

このテーマの図解ドリルで実際に書いて確認する →

📝 関連ブログ記事

📖 関連する用語

🚀 Gitレッスン2:はじめてのGit操作で根本解決しよう!

このエラーの背景にある仕組みを、手を動かしながら学べるレッスンがあります。完全無料・登録不要。

Gitレッスン2:はじめてのGit操作へ →

❓ 関連するQ&A