Início·Comandos de terminal

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çãoSignificado
--lost-foundwrite dangling objects into .git/lost-found
--unreachablelist objects no ref points at
--danglinglist objects nothing at all refers to
--fullcheck packs and alternates too
--connectivity-onlyskip the expensive object checks
--no-reflogsdo not treat reflog entries as roots

Exemplos

git fsck --lost-found

recovers commits after a reset when the reflog is gone

git fsck --unreachable

lists commits nothing points at any more

git fsck --connectivity-only

a 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