n1ro°
RU

Компьютеры · Инструкция

Как проверить репозиторий Git командой git fsck

`git fsck` полезен при подозрении на повреждение object database, после проблем с диском или когда Git сообщает об отсут

Редакция N1RO · Проверено

Короткий ответ

Запустите `git fsck`: Git проверит связность и корректность объектов. `missing` и `hash mismatch` требуют внимания; `dangling` сам по себе не всегда означает повреждение.

Что делать

  1. 1. Сделайте копию: Если есть подозрение на повреждение диска, сначала сохраните каталог репозитория или хотя бы `.git`.
  2. 2. Запустите базовую проверку: Выполните `git fsck` и сохраните полный вывод.
  3. 3. Отделите серьёзные ошибки: Ищите `missing`, `hash mismatch` и сообщения о некорректных объектах; `dangling` может быть обычным следствием переписанной истории.
  4. 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.