git fsck
git
Uso
git fsck [--lost-found] [--unreachable]Verifica o banco de objetos e lista commits que nada aponta, o segundo jeito de achar trabalho perdido depois de um reset quando o reflog já expirou; ele relata, não conserta.
Opções comuns
| Opção | 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 |
Exemplos
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
O confuso é que desfazer tem várias formas: mover para onde um branch aponta não é o mesmo que criar um commit que reverte.
Como ler
- Os colchetes [ ] marcam uma parte que você pode omitir.
- As reticências … indicam que você pode listar vários.
- As opções diferenciam maiúsculas: em alguns comandos -r e -R fazem coisas diferentes.
Perguntas
Q. O que git fsck faz?
Verifica o banco de objetos e lista commits que nada aponta, o segundo jeito de achar trabalho perdido depois de um reset quando o reflog já expirou; ele relata, não conserta.
Q. Como se digita?
git fsck [--lost-found] [--unreachable] — os colchetes marcam o que você pode omitir.
Q. Quantas opções vale a pena saber?
Aqui estão 6; a lista completa está em man git. Este comando fica em git.
Comandos relacionados
página man: man git-fsck