1

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 )

4

1 に答える 1