Git7 min

Git reflog ajuda a recuperar commits que parecem perdidos

Entenda como o registro local de movimentos das referências pode localizar trabalho após reset, rebase ou troca de branch.

Um registro local de movimentos

O reflog registra onde referências como HEAD e branches apontaram recentemente no seu repositório local. Mesmo que um commit deixe de aparecer no histórico comum, seu identificador pode continuar acessível ali.

Isso ajuda após um reset no alvo errado, um rebase descartado ou uma branch removida por engano.

Como localizar o ponto certo

Execute git reflog e procure a ação anterior ao problema. Mensagens, horários e hashes curtos ajudam a reconhecer o estado desejado.

Antes de mudar qualquer referência, inspecione o commit encontrado com git show ou crie uma branch temporária apontando para ele.

Recuperação sem sobrescrever

Criar uma nova branch no commit recuperado costuma ser mais seguro que mover imediatamente a branch atual. Depois, compare os estados e integre somente o conteúdo necessário.

Esse passo preserva alternativas caso a primeira interpretação esteja errada.

Limites importantes

Reflogs são locais, expiram e não substituem backup ou repositório remoto. Trabalho nunca adicionado ao Git pode não estar representado por um commit recuperável.

Quanto mais cedo você interromper operações e investigar, maiores são as chances de encontrar o objeto ainda disponível.

Quer aplicar isso à sua empresa?

Explique o cenário e eu ajudo a transformar a necessidade em um projeto viável.

Conversar com Tadeu