Компьютеры · Инструкция
Как проверить репозиторий Git командой git fsck
`git fsck` полезен при подозрении на повреждение object database, после проблем с диском или когда Git сообщает об отсут
Короткий ответ
Запустите `git fsck`: Git проверит связность и корректность объектов. `missing` и `hash mismatch` требуют внимания; `dangling` сам по себе не всегда означает повреждение.
Что делать
- 1. Сделайте копию: Если есть подозрение на повреждение диска, сначала сохраните каталог репозитория или хотя бы `.git`.
- 2. Запустите базовую проверку: Выполните `git fsck` и сохраните полный вывод.
- 3. Отделите серьёзные ошибки: Ищите `missing`, `hash mismatch` и сообщения о некорректных объектах; `dangling` может быть обычным следствием переписанной истории.
- 4. Проверьте удалённую копию: Если объект действительно отсутствует, сравните с рабочим клоном или удалённым репозиторием, откуда его можно восстановить.
Как читать вывод
`dangling commit` может остаться после rebase/reset и не равен потере данных; `missing blob/tree/commit` — уже повод искать повреждение или неполную копию.
Важно
Не удаляйте файлы из `.git/objects` вручную до резервной копии: этим можно сделать восстановление сложнее.
Как понять, что всё сработало
- В выводе `git fsck` нет `missing` или `hash mismatch`; сообщения `dangling` разобраны отдельно.
- До любых восстановительных действий сохранена копия `.git` или всего репозитория.
Что учитывать
Не удаляйте файлы из `.git/objects` вручную до резервной копии: этим можно сделать восстановление сложнее.
Источники и проверка
Фактическая часть сверена по первичным источникам (в т.ч. git-fsck Documentation). Пример и формулировки — редакция N1RO на 2026-09-18.