Gitリポジトリが破損しています(ヘッダーチェックが正しくありません。ルーズオブジェクトが破損しています)

trentcl:

昨日の夜、コミットメッセージを書いているときに電源障害が発生しました。マシンを再起動したとき、コミットを完了できませんでした。私は実行しgit reset、変更されたファイルを追加して再試行し、これを取得しました:

% git commit
error: inflate: data stream error (incorrect header check)
error: unable to unpack a94406345ac44982b00cf57b4b9660a35436637f header
fatal: a94406345ac44982b00cf57b4b9660a35436637f is not a valid object

git fsck 以下を明らかにします:

% git fsck --full
Checking object directories: 100% (256/256), done.
error: inflate: data stream error (incorrect header check)
error: unable to unpack 4346883490a0990e68db0187241abc1642765a73 header
error: inflate: data stream error (incorrect header check)
fatal: loose object 4346883490a0990e68db0187241abc1642765a73 (stored in .git/objects/43/46883490a0990e68db0187241abc1642765a73) is corrupt

メッセージがさまざまなオブジェクトについて不平を言っていることに気づきました。

私はSOとWebを検索していくつかのことを試しましたが、役に立ちませんでした。

  • 最近のバックアップコピーはありません。
  • リポジトリを別のディレクトリに複製しても効果はありません。新しいリポジトリでもまったく同じ問題が発生します。
  • git stashと同じメッセージが表示されgit commitます。他のすべてのgitコマンドは正常に動作するようです。

何が問題なのかを確認して修正するにはどうすればよいですか?

編集: git log提案どおりの出力(最初の数行のみ):

% git log --oneline --decorate --all |head -n 8
253b086 (HEAD, new_tokenize) Normalized tokenizer interface slightly
0f2425a (master) Added procs to eval layer
a4d4c22 Added procedures as a type
d1e15ad (tag: v0.10) Added `if' form with tail call semantics
f94a992 (tag: v0.9) Completed environments
031116e Fixed bug where # on a line by itself caused segfault
3d8b09f Added environments, define and set!
01cc624 Put symbol table implementation into types.c

これは小さな個人プロジェクトです。私は通常(マスター)で作業しますが、当時(new_tokenize)で実験を行っていました。253b086は、停電前の最後の正常なコミットでした。

trentcl:

gitは新しいコミット用に.git / objectsにファイルを作成したようですが、それらに正常に書き込むことができませんでした。一度に1つずつ削除し、再実行git fsck --fullして次のものを見つけることで解決しました私が最初に報告したものから始めましたgit fsck

% rm -f .git/objects/43/46883490a0990e68db0187241abc1642765a73
% git fsck --full
Checking object directories: 100% (256/256), done.
error: inflate: data stream error (incorrect header check)
error: unable to unpack 86e7247af5865e857a3b61eed99986e2d9538df1 header
error: inflate: data stream error (incorrect header check)
fatal: loose object 86e7247af5865e857a3b61eed99986e2d9538df1 (stored in .git/objects/86/e7247af5865e857a3b61eed99986e2d9538df1) is corrupt
% rm -f .git/objects/86/e7247af5865e857a3b61eed99986e2d9538df1
% git fsck --full
Checking object directories: 100% (256/256), done.
error: inflate: data stream error (incorrect header check)
error: unable to unpack a94406345ac44982b00cf57b4b9660a35436637f header
error: inflate: data stream error (incorrect header check)
fatal: loose object a94406345ac44982b00cf57b4b9660a35436637f (stored in .git/objects/a9/4406345ac44982b00cf57b4b9660a35436637f) is corrupt

等々。git fsckクリーンアップする前に5つのオブジェクトを削除しました。これは、私が作成しようとしているコミットの5つのファイルに(おそらく)対応しています。ファイルの履歴はまったく壊れていなかったと思います。

ちなみに、別の方法でもうまくいくように思いました。git clone不良オブジェクトをコピーしますが、コピーしgit pushません。バックアップした後、私は新しい空のリポジトリを作成し(そうしないとマスターにプッシュできないため--bare)、変更をステージング解除して両方のブランチを新しいリポジトリにプッシュしました。次に、それをもう一度チェックアウトし、バックアップから最新の変更を復元するだけでした。

誰かがここで失敗のメカニズムに光を当てる気にしているかどうかまだ興味があります。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

gitサーバーエラー:リモートのルーズオブジェクトが破損しています

分類Dev

AWS Lambda関数で、JSONオブジェクトが破損しています

分類Dev

入力のMACが破損しています。ssh_dispatch_run_fatal:メッセージ認証コードが正しくないため、リモートサーバーでjupyterノートブックをsshできません

分類Dev

サービスファブリックが破損しています:SfDevClusterが作成されていません

分類Dev

gitファイルに破損したルーズオブジェクトが含まれている場合、プッシュされていないコミットをプッシュすることは可能ですか?

分類Dev

Xamarin Android:アーカイブ-「アプリがインストールされていません。パッケージが破損しているようです」

分類Dev

Android Studioプロジェクトが破損していますか?

分類Dev

Git Gui:「このリポジトリには現在約320個のルーズオブジェクトがあります」を永続的に取得しています。

分類Dev

BTRFS:ノードが破損しています。キーの順序が正しくありません

分類Dev

BTRFS:ノードが破損しています。キーの順序が正しくありません

分類Dev

__vfptrテーブルは、削除されなかったオブジェクトで破損しています

分類Dev

Pythonパッケージが破損しています

分類Dev

Pacmanパッケージが破損しています

分類Dev

ストーリーボードが破損しています

分類Dev

Gitが破損したリポジトリ:クリーンなリポジトリからgitオブジェクトを選択する方法

分類Dev

リポジトリが破損しました:パッケージファイルを解析できません

分類Dev

ジャーナルスーパーブロックが破損しています

分類Dev

phpヘッダーファイル転送が破損しています

分類Dev

Cygwingccが破損したバイナリを作成します-プロシージャのエントリポイントがダイナミックリンクライブラリに見つかりませんでした

分類Dev

Nugetを介したパッケージのインストール-「中央ディレクトリが破損しています」

分類Dev

W8.1が起動しない「PCが正しく起動しませんでした」、起動修復エラー:「根本原因が見つかりました:レジストリが破損しています」

分類Dev

CLionでは、ヘッダーのみのライブラリ:ファイル「どのプロジェクトターゲットにも属していません。コードインサイト機能が正しく機能しない可能性があります」

分類Dev

CLionでは、ヘッダーのみのライブラリ:ファイル「どのプロジェクトターゲットにも属していません。コードインサイト機能が正しく機能しない可能性があります」

分類Dev

Windowsムービーメーカーは、破損していると言って.wlmpプロジェクトを開くことができません

分類Dev

ソケットストリームからオブジェクトを読み取っていますが正しい値を取得していません

分類Dev

ext4-fs:ジオメトリが正しくありません:ブロック数がデバイスのサイズを超えています

分類Dev

Git:「破損したルーズオブジェクト」

分類Dev

オブジェクトのリストがありますが、コードを整理する方法が見つかりません。C#の特定のインデックスでオブジェクトを更新しようとしています

分類Dev

「シリアル化されたハッシュにターミネーターがありません」エラーで破損したsvnリポジトリ

Related 関連記事

  1. 1

    gitサーバーエラー:リモートのルーズオブジェクトが破損しています

  2. 2

    AWS Lambda関数で、JSONオブジェクトが破損しています

  3. 3

    入力のMACが破損しています。ssh_dispatch_run_fatal:メッセージ認証コードが正しくないため、リモートサーバーでjupyterノートブックをsshできません

  4. 4

    サービスファブリックが破損しています:SfDevClusterが作成されていません

  5. 5

    gitファイルに破損したルーズオブジェクトが含まれている場合、プッシュされていないコミットをプッシュすることは可能ですか?

  6. 6

    Xamarin Android:アーカイブ-「アプリがインストールされていません。パッケージが破損しているようです」

  7. 7

    Android Studioプロジェクトが破損していますか?

  8. 8

    Git Gui:「このリポジトリには現在約320個のルーズオブジェクトがあります」を永続的に取得しています。

  9. 9

    BTRFS:ノードが破損しています。キーの順序が正しくありません

  10. 10

    BTRFS:ノードが破損しています。キーの順序が正しくありません

  11. 11

    __vfptrテーブルは、削除されなかったオブジェクトで破損しています

  12. 12

    Pythonパッケージが破損しています

  13. 13

    Pacmanパッケージが破損しています

  14. 14

    ストーリーボードが破損しています

  15. 15

    Gitが破損したリポジトリ:クリーンなリポジトリからgitオブジェクトを選択する方法

  16. 16

    リポジトリが破損しました:パッケージファイルを解析できません

  17. 17

    ジャーナルスーパーブロックが破損しています

  18. 18

    phpヘッダーファイル転送が破損しています

  19. 19

    Cygwingccが破損したバイナリを作成します-プロシージャのエントリポイントがダイナミックリンクライブラリに見つかりませんでした

  20. 20

    Nugetを介したパッケージのインストール-「中央ディレクトリが破損しています」

  21. 21

    W8.1が起動しない「PCが正しく起動しませんでした」、起動修復エラー:「根本原因が見つかりました:レジストリが破損しています」

  22. 22

    CLionでは、ヘッダーのみのライブラリ:ファイル「どのプロジェクトターゲットにも属していません。コードインサイト機能が正しく機能しない可能性があります」

  23. 23

    CLionでは、ヘッダーのみのライブラリ:ファイル「どのプロジェクトターゲットにも属していません。コードインサイト機能が正しく機能しない可能性があります」

  24. 24

    Windowsムービーメーカーは、破損していると言って.wlmpプロジェクトを開くことができません

  25. 25

    ソケットストリームからオブジェクトを読み取っていますが正しい値を取得していません

  26. 26

    ext4-fs:ジオメトリが正しくありません:ブロック数がデバイスのサイズを超えています

  27. 27

    Git:「破損したルーズオブジェクト」

  28. 28

    オブジェクトのリストがありますが、コードを整理する方法が見つかりません。C#の特定のインデックスでオブジェクトを更新しようとしています

  29. 29

    「シリアル化されたハッシュにターミネーターがありません」エラーで破損したsvnリポジトリ

ホットタグ

アーカイブ