Pular para o conteúdo
Cripta do Git

/static/cripta/ossada/bisect/

Menu

GIT-005 · Arqueologia

git bisect

Busca binária pelo commit culpado — a história interrogada pela metade.

Você sabe que hoje está quebrado e que na versão tal funcionava. git bisect corta esse intervalo ao meio, faz checkout do commit central e pergunta: bom ou ruim? Cada resposta descarta metade dos suspeitos — mil commits caem em dez perguntas.

O golpe de mestre é git bisect run: entregue um comando que sai com 0 no sucesso — a suíte de testes, um script — e a escavação inteira roda sozinha, até sobrar o primeiro commit ruim, nomeado no relatório final.

$ git bisect start
$ git bisect bad
$ git bisect good v1.4.0
Bisecting: 44 revisions left to test after this (roughly 6 steps)
$ git bisect run go test ./...
2f9d1c3f8a4b6e0d7c5a9e2b1d8f4a6c3e7b0d95 is the first bad commit
Seis perguntas depois, o culpado tem nome.