致命的になります:コミットしようとするたびにHEADを有効な参照として解決できませんでした。
私が試してみました
echo ref: refs/heads/master >.git/HEAD
しかし、それは機能していません
また試しました
git commit
以下のソースからも機能しない
Git 'fatal:No such ref:HEAD'git tag:fatal:Failed to resolve 'HEAD' as a valid ref
助けてください。私のコミット履歴もすべてなくなりました
私も同じ問題に遭遇しました...そして私は以下によって解決しました
Sudip Bhandariによる編集
なぜこれが機能するのですか?
壊れたgitリポジトリは、突然の電源障害やその他の異常によるファイルシステムの破損が原因であることがよくあります。 gitはすべての情報を.gitフォルダー内に格納し、それらが破損しているため、gitはリポジトリを認識しなくなりました。
警告
以前の.gitフォルダーに保存されているものはすべて失われます。リモコンの参照名(複数ある場合)などの設定は、再度セットアップする必要があります。
私の問題は
git init
git add .
試しました
git reset
fatal: Failed to resolve 'HEAD' as a valid ref.
git reset --hard
fatal: Failed to resolve 'HEAD' as a valid ref.
解決済み
git rm -r --cached .
環境
gitバージョン1.7.5.4
Ubuntu 11.10
私の場合、ブランチの名前を変更した後、結局同じ名前の2つのブランチで終わりました。 。git/refs/headsでそれらの1つを削除すると、すべて正常に戻りました。
私は死のブルースクリーンインシデントの後にこの問題を抱えていました。そのため、上記のSudip Bhandariの発言と似ていました。
.git/refs/heads/<mybranch>
を調べたところ、エントリが破損している(判読できない)ことがわかりました。このファイルには、HEADブランチの完全なcommit-idが含まれています。.git/refs/heads/<mybranch>
を破損したものにコピーしました(スタッシュなどの最近のcommit-idを貼り付けるだけで修復できたと思います)。git rm -r --cached .
およびgit reset --hard
を実行してクリーンアップしたところ、すべてが再び正常に戻っていることがわかりました。