Git Bisect > Encontrando o Commit Bugado

Então você roda a sua aplicação e descobre um bug!
Você olha o histórico de alterações do projeto e não consegue identificar quando o bug foi introduzido.
O jeito é fazer o checkout de cada revision e testar… um por um! Se for apenas 3 commits, ok! …


This content originally appeared on DEV Community and was authored by Felipe Ribeiro

Então você roda a sua aplicação e descobre um bug!
Você olha o histórico de alterações do projeto e não consegue identificar quando o bug foi introduzido.
O jeito é fazer o checkout de cada revision e testar... um por um! Se for apenas 3 commits, ok! Mas se for 10, 15, 30... vai levar horas!

Aí que entra o git bisect!

Alt Text

O git bisect utiliza um algoritmo de pesquisa binária no histórico de alterações do seu projeto para descobrir qual commit introduziu o bug. Mas ele não faz tudo sozinho. Precisamos interagir bastante nesse processo mas ainda assim é bem mais fácil do que fazer tudo sozinho.

Para iniciarmos o processo, precisamos informar um commit "bad" (ruim) e um commit "good" (bom). Então o primeiro passo é descobrir um commit onde você tenha certeza de que a sua aplicação estava funcionando. Com esse commit na mão podemos começar.

$ git bisect start
$ git bisect bad            # A versão atual está ruim
$ git bisect good bf21fee   # bf21fee é uma versão boa

Então o git bisect vai fazer uma análise e irá te responder algo assim:

Bisecting: 84 revisões deixadas para testar depois disso (aproximadamente 7 passos)

A partir daí, ele vai selecionar um commit entre esses dois pontos, vai fazer o checkout e vai te perguntar se esse commit é "bom" ou "ruim". Então cabe a você decidir... ou melhor, testar! Faça o teste e verifique se o bug está lá.

Se o bug ainda estiver lá, basta digitar:

$ git bisect bad

Mas, se a versão estiver funcionando corretamente:

$ git bisect good

Após isso, ele irá responder:

Bisecting: 42 revisões deixadas para testar depois disso (aproximadamente 6 passos)

Em seguida, ele irá escolher um outro commit, fará o checkout e te perguntará novamente se o commit é bom ou ruim. Agora é só ir repetindo esse processo até acabarem os commits. Então o git bisect irá te informar qual é o primeiro commit ruim.

Pronto! Agora é com você! Hora de corrigir esse bug!


This content originally appeared on DEV Community and was authored by Felipe Ribeiro


Print Share Comment Cite Upload Translate Updates
APA

Felipe Ribeiro | Sciencx (2021-04-09T18:41:41+00:00) Git Bisect > Encontrando o Commit Bugado. Retrieved from https://www.scien.cx/2021/04/09/git-bisect-encontrando-o-commit-bugado/

MLA
" » Git Bisect > Encontrando o Commit Bugado." Felipe Ribeiro | Sciencx - Friday April 9, 2021, https://www.scien.cx/2021/04/09/git-bisect-encontrando-o-commit-bugado/
HARVARD
Felipe Ribeiro | Sciencx Friday April 9, 2021 » Git Bisect > Encontrando o Commit Bugado., viewed ,<https://www.scien.cx/2021/04/09/git-bisect-encontrando-o-commit-bugado/>
VANCOUVER
Felipe Ribeiro | Sciencx - » Git Bisect > Encontrando o Commit Bugado. [Internet]. [Accessed ]. Available from: https://www.scien.cx/2021/04/09/git-bisect-encontrando-o-commit-bugado/
CHICAGO
" » Git Bisect > Encontrando o Commit Bugado." Felipe Ribeiro | Sciencx - Accessed . https://www.scien.cx/2021/04/09/git-bisect-encontrando-o-commit-bugado/
IEEE
" » Git Bisect > Encontrando o Commit Bugado." Felipe Ribeiro | Sciencx [Online]. Available: https://www.scien.cx/2021/04/09/git-bisect-encontrando-o-commit-bugado/. [Accessed: ]
rf:citation
» Git Bisect > Encontrando o Commit Bugado | Felipe Ribeiro | Sciencx | https://www.scien.cx/2021/04/09/git-bisect-encontrando-o-commit-bugado/ |

Please log in to upload a file.




There are no updates yet.
Click the Upload button above to add an update.

You must be logged in to translate posts. Please log in or register.