devterview_$ iniciar simulação

git bisect: achar o commit que introduziu a regressão

MédioPlenoFerramentas

Pergunta

Um comportamento que funcionava há duas semanas está quebrado agora, e há centenas de commits no meio. Como o `git bisect` te ajuda e qual é a ideia por trás?

Resposta esperada

`git bisect` faz busca binária no histórico. Você marca um commit `good` conhecido (duas semanas atrás) e o `bad` atual; o git faz checkout do commit do meio, você testa e responde `git bisect good` ou `bad`, e ele corta o intervalo pela metade a cada passo — ~log2(N) testes pra achar o commit exato que introduziu o problema (10 testes pra ~1000 commits). Dá pra automatizar com `git bisect run <script>` se você tem um comando que sai 0 quando OK e ≠0 quando quebrado. Requisito: um teste rápido e confiável do sintoma, e que o repo compile em cada commit do intervalo.

Por que perguntam isso

Flashcard prático. Sinal de quem já usou: mencionar `git bisect run` e o requisito de um repro rápido e determinístico.

#git-bisect#regressao#busca-binaria
publicidade

Relacionadas