開発
2013/8/22
Gitリポジトリのインデックスが壊れたら
shimizu
予想外のことは起こるもので、先日ソースコード管理ツールであるGitを使っていた際、前回のコミット以降に変更した差分を見ようとgit-statusを実行したところ、次のようなエラーメッセージが現れて正常に動作しませんでした。
$ git status error: bad signature fatal: index file corrupt
このような事態を目の当たりにすると、「リポジトリが壊れて履歴も消失したのではないか?早めにpushしておけばよかった!」と後悔の念に駆られ、せめて貴重な教訓を得る機会になっただけでも良しとしようと思い諦めかけそうになりますが、ここは冷静に対処法を探りたいところです。調べによると、インデックスのファイルが破損しただけであるため、再作成すれば復旧するとの情報がありました→gitのRepoが壊れた – satoko’s blog – s21g
この解決策に基づき下記のように実行すると、ありがたいことに無事に復旧することができました。
$ rm .git/index $ git reset