fatal: Failed to resolve HEAD as a valid ref. 対応

投稿者: | 2022年7月3日

日常的に開発作業をしているところで、突然、fatal: Failed to resolve HEAD as a valid ref.というエラーが出るようになった。

開発に着手するときに、現在のbranchの状態を確認するために、

  • git branch
  • git status

の両方を実行するが、git branch を実行すると、掲題のエラーが出るようになった。

元の状態に戻せるのかどうか、わからないけど、とりあえず本日の開発に着手したいのと、前回はcommitとしてリモートレポジトリにアップロードしていたので、最悪git cloneしなおしてもいいけど、可能な限り復旧させたいので、いろいろ調べてみたら、ブランチは確認できるようになったので、その手順をまとめておく。

復旧手順

  1. 現在の開発環境のディレクトリをコピーする(バックアップのため)
  2. 現在の開発環境ディレクトリを別名にリネームする。
  3. git cloneする
  4. git cloneで生成されたディレクトリ配下の.gitを2でリネームしたディレクトリにコピーする。
  5. git cloneしたディレクトリを削除し、2でリネームしたディレクトリを元に戻す。

コマンドとしては以下。

1 cp -afp test test_backup
2 mv test test_
3 git clone git@(リモートレポジトリのホスト):test.git
4 \cp -afp test/.git test_/
5 rm -rf test/
  mv test_ test

これで、もともと開発していたディレクトリでbit branchしてもエラーが出なくなった。

current branchはmasterになっていたが、本来は別のブランチがcurrent branchになっていたはず。
このへんはしょうがないのかも。

その後

上の手順1でバックアップした環境の.git配下をちゃんと見ると、解決する方法があるのかも。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

*

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)