"index file corrupt"または".git/index.lock: File exists."のエラーが出るときのプロジェクトのGitインデックスファイルの修復方法

Gitインデックスファイルが壊れているときのエラー

以下のようなメッセージを含むエラーレポートダイアログが表示されたときは、プロジェクトのGitのインデックスファイルが壊れています。

fatal: index file corrupt

この場合は、Gitのインデックスファイルを作り直すことによって、問題が解決することがあります。 このノートではその方法を説明します。

Gitインデックスファイルがロックされているときのエラー

また、以下のようなメッセージを含むエラーレポートダイアログが表示されたときは、プロジェクトのGitインデックスファイルがロックされています。

fatal: Unable to create '.../.git/index.lock': File exists.

この場合は、Gitのインデックスファイルのロックを解除することによって、問題が解決することがあります。 このノートではその方法も説明します。

プロジェクトのIDを取得

まず、問題が起きているプロジェクトのIDを取得するために、システム設定ダイアログで、”メタデータIDを「名前/コメント」ダイアログ上に表示”の設定を有効にします。

その後、名前の変更ダイアログを開くと、プロジェクトのIDを見ることができます。

この例では、With_Connection_Test_PJL8PWg8がプロジェクトのIDです。

プロジェクトディレクトリに移動

このプロジェクトのIDが分かると、プロジェクトが格納されているディレクトリがわかります。コマンドプロンプトで、問題が起きているプロジェクトのディレクトリに移動します。この例では、以下のコマンドにあるようなディレクトリとなります。

cd .exploratory/projects/With_Connection_Test_PJL8PWg8

Gitインデックスファイルのロックを解除する

コマンドプロンプトでプロジェクトのディレクトリに移動した後、Gitインデックスファイルがロックされている場合は、以下のコマンドでGitインデックスファイルのロックを解除します。

Windowsの場合

del .git\index.lock

Macの場合

rm .git/index.lock

この後、問題のプロジェクトを開き直して、その後の操作がエラーなく進められるか確認して下さい。 このとき、fatal: index file corruptのエラーが起きるようであれば、以下の手順で、Gitインデックスファイルを作り直します。

Gitインデックスファイルを作り直す

コマンドプロンプトで、問題のプロジェクトのディレクトリに移動してある状態から、以下のコマンドでGitインデックスファイルを一旦消した上で再作成します。

Windowsの場合

del .git\index
git reset

Macの場合

rm .git/index
git reset

この後、問題のプロジェクトを開き直して、その後の操作がエラーなく進められるか確認して下さい。