我使用fsck
并发现我有一些悬空的对象,以及更多(数量)无法到达的对象。
fsck --lost-found
确实将悬空对象保存为目录中的lost-found
文件,但是当我希望它写入所有无法访问的对象时,fsck --unreachable --lost-found
它不会写入它们,因此我最终会丢失一些无法访问的对象。
为什么会发生这种情况,Git 有没有办法将那些无法访问的对象也写入文件?
找到的解决方案:
--lost-found
根据 Git 文档,仅支持悬空对象:
--lost-found 根据类型将悬空对象写入 .git/lost-found/commit/ 或 .git/lost-found/other/。如果对象是 blob,则将内容写入文件,而不是其对象名称。
https://git-scm.com/docs/git-fsck#Documentation/git-fsck.txt---lost-found