92

今朝、私はgitからこのエラーを受け取り始めました:

致命的:インデックスファイルが予想よりも小さい

致命的:git status--porcelainfailed

何が起こっているのか、そしてそれをどのように解決するのかについてのアイデアはありますか?

4

3 に答える 3

129

インデックスファイルが破損していますが、簡単に再作成できます。削除するだけです...

rm .git/index

次に、ステージングしようとしているファイルを再度追加できます。

于 2012-04-09T20:57:43.297 に答える
102

ローカルの変更を保持する場合は、以下を使用します。

$ rm .git/index
$ git reset HEAD .

> Unstaged changes after reset:
  modified foo.txt
  modified bar.txt
于 2013-01-30T00:28:39.413 に答える
4

インデックスを削除しても問題があり、リセットできない方へ。変更を保持したい場合は、次のようにします(解決策ではなく、醜い回避策です!)。

  1. ファイルのバックアップを作成します。これから説明する内容は機能するはずですが、念のために作成してください。
  2. .gitフォルダーを削除します
  3. リポジトリのクローンを作成します(どこでも構いません)現在のディレクトリで作成しました
  4. 作成したものをclone.gitディレクトリから現在のディレクトリにコピーします
  5. 複製されたディレクトリを削除します。6 。オプションで、ブランチチェックアウトを再度使用した場合
  6. Gitステータスは、想定どおりに変更を追跡する必要があり、すべてのgitコマンドが機能するはずです。

私の場合は上記のとおりで、gitはその参照を台無しにしました... Git log「あなたのブランチは壊れているようです」とgit fsck表示され、悪い参照についての警告を私に与えていました。おそらく修正できるかどうかを考えましたが、それを行うのに多くの時間を費やすので、醜い回避策を選びました。

于 2020-03-26T04:50:52.443 に答える