環境構築
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。
この解決法は役立ちましたか?
🔗 関連するエラー
- error: pathspec did not match any files — 指定したファイルが見つからない
- HEAD detached at — HEADが切り離された状態(detached HEAD)
- error: Your local changes would be overwritten by checkout / merge — コミットしていない変更が消えるのをGitが防いでいる
- Permission denied (publickey) — SSH鍵が設定されていない
- .gitignoreが効かない・無視されない — 追跡済みファイルには効かない/パターンの書き方ミス
🔗 別カテゴリの関連エラー
📖 この問題を学べるレッスン
✏️ 手を動かして練習
📝 関連ブログ記事
- プログラミングのエラーメッセージの読み方 — エラーの読み方を基礎から解説
- VS Codeのインストール方法 — インストールと初期設定を図解で解説
- プログラミング初心者が最初にやるべきこと5選 — 目的を決めて環境構築から
📖 関連する用語
🚀 Gitレッスン2:はじめてのGit操作で根本解決しよう!
このエラーの背景にある仕組みを、手を動かしながら学べるレッスンがあります。完全無料・登録不要。
Gitレッスン2:はじめてのGit操作へ →