git fsck
git
Uso
git fsck [--lost-found] [--unreachable]Revisa la base de objetos y enumera commits a los que nada apunta: la segunda forma de recuperar trabajo perdido tras un reset cuando ya no hay reflog; informa, no repara.
Opciones habituales
| Opción | Significado |
|---|---|
| --lost-found | write dangling objects into .git/lost-found |
| --unreachable | list objects no ref points at |
| --dangling | list objects nothing at all refers to |
| --full | check packs and alternates too |
| --connectivity-only | skip the expensive object checks |
| --no-reflogs | do not treat reflog entries as roots |
Ejemplos
git fsck --lost-foundrecovers commits after a reset when the reflog is gone
git fsck --unreachablelists commits nothing points at any more
git fsck --connectivity-onlya quick structural check on a huge repository
Lo confuso es que deshacer tiene varias formas: mover a dónde apunta una rama no es lo mismo que añadir un commit que la revierte.
Cómo leerlo
- Los corchetes [ ] marcan una parte que puedes omitir.
- Los puntos suspensivos … indican que puedes poner varios.
- Las opciones distinguen mayúsculas: en algunos comandos -r y -R no hacen lo mismo.
Preguntas
Q. ¿Qué hace git fsck?
Revisa la base de objetos y enumera commits a los que nada apunta: la segunda forma de recuperar trabajo perdido tras un reset cuando ya no hay reflog; informa, no repara.
Q. ¿Cómo se escribe?
git fsck [--lost-found] [--unreachable] — los corchetes marcan lo que puedes omitir.
Q. ¿Cuántas opciones vale la pena saber?
Aquí van 6; la lista completa está en man git. Este comando está en git.
Comandos relacionados
página man: man git-fsck