Git7 min

Git bisect encontra o commit que introduziu um problema

Use busca binária entre uma versão boa e outra ruim para reduzir drasticamente o número de testes durante uma investigação.

Busca binária no histórico

git bisect escolhe commits intermediários entre um ponto conhecido como bom e outro conhecido como ruim. A cada teste, você classifica o estado e reduz pela metade o trecho restante.

Em históricos longos, isso é muito mais eficiente que verificar commits um a um.

Defina um teste confiável

Antes de começar, descreva objetivamente o que significa bom ou ruim. Um teste automatizado com código de saída consistente torna a investigação reproduzível.

Se o comportamento depender de serviço externo ou dados instáveis, resultados incorretos podem apontar para o commit errado.

Automatize quando possível

git bisect run executa um script em cada ponto selecionado. O script deve preparar apenas o necessário, testar e retornar sucesso, falha ou indicação de que aquele commit não pode ser avaliado.

Commits antigos podem exigir dependências ou configuração compatíveis com sua época.

Confirme a causa

O primeiro commit ruim é uma pista forte, não uma explicação completa. Leia a alteração, reproduza o problema no commit anterior e valide a correção atual.

Ao terminar, execute git bisect reset para retornar ao estado original de trabalho.

Quer aplicar isso à sua empresa?

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

Conversar com Tadeu