最近ハード リブートを実行する必要があり、特定のブランチにアクセスしようとすると git でエラーが発生するようになりました (これは、他のブランチにアクセスするときには発生しません)。
$git checkout branchName
fatal: failed to read object ebca165c3ec7ecd7124f41983dd264e4e1dc0125: Invalid argument
この問題は、ここで説明されている問題と似ています:破損した git リポジトリを復元するには? 、しかし、私は現在そのブランチで実行していないという事実が異なりますgit status。また、電話git reflogしても同じエラーメッセージが表示されます。
git branch -d branchNameと を使用して問題のブランチを削除しようとしましgit branch -D branchNameたが、成功しませんでした。
明らかに、すべてのブランチとデータを保持したいのですが、解決策がその特定のブランチを削除することである場合は、それで問題ありません。また、これが役立つかどうかはわかりませんが、このブランチで最後に実行されたアクションはrebase.
考えられる解決策は、無効なブランチを除いて、存在する個々のブランチのそれぞれから現在の参照を再構築することでしょうか?
補足として、私はclone現時点で快適なリモート ソースを持っていないので、ローカル ソリューションが必要です。また、何らかの理由で問題が発生した場合に備えて、PHPを使用しています。
ありがとう。
編集:
実行git fsck --full中、次のメッセージが表示されます。
$git fsck --full
fatal: failed to read object 687f624bd239de165307d18a8904a77adb32c8a1: Invalid argument
...別のハッシュを参照しているように見えるので、これは奇妙です。