← エラー辞典に戻る

環境構築

HEAD detached at

HEADが切り離された状態(detached HEAD)

こんな症状

ブランチではなく特定のコミットを直接見ている状態。新しいブランチを作れば安全だよ。

まず試す

git switch -c 新しいブランチ名 で新しいブランチを作ると、通常のブランチ上で安全に作業できる。

env
# 新しいブランチを作って安全にする
git switch -c my-new-branch

# 元のブランチに戻る場合
git switch main

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

🔍 自分のケースはどれ?

  • 作業を続けたい
    → git switch -c 新しいブランチ名 でブランチを作ってからコミットする。
  • 元のブランチに戻りたいだけ
    → git switch main で戻る。
  • detached のままコミットして見失った
    → git reflog で迷子のコミットを探し、git switch -c 救出ブランチ名 コミットID で回収する。

なぜ起きる?

git checkout でコミットハッシュやタグを直接指定したよ。この状態でコミットすると、どのブランチにも属さない「迷子のコミット」になってしまうんだ。

✕ エラーが起きるコード
git checkout abc1234
# You are in 'detached HEAD' state.
# HEAD is now at abc1234 some commit message
✓ 直したコード
# 新しいブランチを作って安全にする
git switch -c my-new-branch
# これで通常のブランチ上で作業できる

# 元のブランチに戻る場合
git switch main

✅ 直ったか確認

git status が「On branch <ブランチ名>」を表示すればOK(detached が解消)。

🆘 まだ直らないときは

タグやリリースを見ていただけなら、戻るだけで問題ない。コミットしていなければ失うものはない。

Q&Aで質問する →

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

🔗 関連するエラー

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

Gitレッスン4:ブランチの基本で根本から理解する →

✏️ 手を動かして練習

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

📝 関連ブログ記事

📖 関連する用語

🚀 Gitレッスン4:ブランチの基本で根本解決しよう!

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

Gitレッスン4:ブランチの基本へ →

❓ 関連するQ&A