6

過去 3 週間でこれが 5 回目の発生であり、なぜこのようなことが続いているのか、本当に困惑しています。これは、「git status」を実行したときに表示される正確なメッセージです

error: object file .git/objects/48/088f00d90b0d27de65336bb9ed9a75b0cfed33 is empty
fatal: loose object 48088f00d90b0d27de65336bb9ed9a75b0cfed33 (stored in .git/objects/48/088f00d90b0d27de65336bb9ed9a75b0cfed33) is corrupt

破損したオブジェクトを削除するなどの推奨事項を試しましたが、別の緩いオブジェクトで同じエラーが発生します。これを行うたびに、削除する必要がある約 30 個の緩いオブジェクトが発生し、破損したオブジェクトがすべてなくなった後でもエラーが発生します。

これは 5 回目の発生であり、git またはそれに関連する何かに問題があるに違いありません。git を再インストールしようとしましたが、それでもオブジェクトが壊れてしまいました。Ubuntu を実行している仮想マシンを使用していますが、それがこのような問題を引き起こすかどうかはわかりません。Linux mint への切り替えも試みましたが、この問題にも対処しました。

最後に、私は常に変更をテキスト ファイルに保存し、リポジトリを削除し、git ハブから新しいリポジトリを取得してから、変更を編集して戻しました。私は必ずしもこれを修正する方法を探しているわけではありませんが、何が原因で、再発を防ぐ方法を探しています.

4

4 に答える 4

0

git は最初にファイルの内容を一時ファイルに書き込み、次にファイルの名前を最終的な場所に変更するため、これは通常は発生しません。実際には、破損したファイル システムが原因で空の Git オブジェクト ファイルが表示されました (フォルダー共有に使用される VirtualBox の vboxsf は、このような空のファイルについて不満を言う人を見るたびに有罪のようです)。

に設定core.fsyncobjectfilesするとtrue役立つ場合があります。

于 2015-04-26T19:00:24.993 に答える