1) 問題の説明
私はいくつかのパック ファイルunknown object type 0 at offset
に .
2) やりたいこと
レポで他の操作を行うのをブロックされないように、これらの無効な参照を単純に削除するにはどうすればよいですか? 最終的に、git filter-branch --subdirectory
コマンドを実行して 9.2G リポジトリをサブモジュールに分割したいのですが、これらの無効なパック ファイルが詰まる (注: インデックス フィルターが機能します)。
3) 完全なエラー メッセージ
$ git filter-branch --subdirectory-filter mydir HEAD
error: unknown object type 0 at offset 78171701 in /media/me/unmirrored/trash/git_filter_subdir_attempt.2020-06-21/me.git.cloned/.git/objects/pack/pack-35b37571b163f30d71a98002a7f6a30aaeeadbad.pack
fatal: packed object a30f803926d5e369b0bda4982dba89fa7127cabe (stored in /media/me/unmirrored/trash/git_filter_subdir_attempt.2020-06-21/me.git.cloned/.git/objects/pack/pack-35b37571b163f30d71a98002a7f6a30aaeeadbad.pack) is corrupt
Could not get the commits
ここにも出力を入れましgit fsck --full
た:https://pastebin.com/WCnArrCh
4) 私が試したこと
もう一度フェッチする
ほとんどのソリューションは、破損していないリモート コピーがあることを前提としています。しかし、私のコピーはすべて破損しています。
参照を削除する
(失敗した結果の応答は、再生成後に追加します)
git update-ref -d abc123
( https://git.wiki.kernel.org/index.php/GitFaq#salvage )
git-修復
(失敗した結果の応答は、再生成後に追加します)
git-repair
git-repair --force
( http://manpages.ubuntu.com/manpages/bionic/man1/git-repair.1.html )