2010-12-03 17 views
3
~$ git commit . 
error: inflate: data stream error (incorrect data check) 
error: corrupt loose object '26f0654cde5d83f2ed8d971474d9d08a76644087' 
fatal: object 26f0654cde5d83f2ed8d971474d9d08a76644087 is corrupted 

問題のオブジェクトは存在せず、私は毎日コミットしています。
このオブジェクトはおそらくどこにあるのかわからないので、私はそれをどうしているのか分かりません。
私は最後の1つが先月30日にあったと思うので、私は遅れてバランスをかなり取っていましたが、今はなぜそれが今やっているのか分かりません。gitに修復不可能な破損したオブジェクトがあります

私はgit unpack-object -r < objectnameを試しましたが、何もしません。オブジェクトはどこにでも私のhddに存在しないので。


元のビットが変更されました:

ノムを、私はそれを発見したように見えたしました。私は文字通りそれ自体の代わりに/ 26/26として26をやっていたことに気付かなかった。どうやらファイルは12月1日に作られたもので、最後の外部バックアップ以降にオブジェクトがないので、数日前だったと思います。
これについてはどのような方法が最適ですか?

+0

バックアップをお持ちの場合は、http://stackoverflow.com/questions/801577/how-to-recover-git-objects-damaged-by-hard-disk-failure助けてもらえます – VonC

+0

[Git: " Corrupt loose object "](http://stackoverflow.com/questions/4254389/git-corrupt-loose-object) – ripper234

答えて

0

これはどのオブジェクトであるかを調べる必要があります。ブロブ、ツリー、コミット、または署名されたタグかメッセージされたタグかどうかを判断する必要があります。 Gitはこれを行うために低レベルの操作コマンドを持っています。

this postをご覧ください。

すべてのsha-1が適切なオブジェクトに解決するように、フィルタブランチまたはリベース-i --preserve-mergesを実行して履歴をクリーンアップすることをお勧めします。

+0

私はちょうどディレクトリ内のすべてのファイルのコピー/置換を終了し、そこから試してみるつもりです。そして、もう一度働いています。悲しいことに、それを修正することはできませんが、少なくとも私はそれを働かせて、あなたが言ったことは将来働くかもしれません。 – 133794m3r

1

これは私のために働い

git stash 

を試してみてください。それはあなたがコミットしていない何かを隠し、問題を回避しています。

関連する問題