Git Bisect: Trovare il Commit che ha Introdotto un Bug
La test suite 猫 verde da tre settimane. Oggi npm test fallisce su un鈥檃sserzione che non ha niente a che fare con quello che hai appena modificato, e git log v1.4.0..HEAD mostra 340 commit di quattro persone dall鈥檜ltima release, di cui qualcuno era sicuro che funzionasse. Leggere ogni diff ti costa una giornata. Fare checkout di commit a caso 猫 pi霉 veloce, ma resta comunque non un piano. git bisect trasforma tutto questo in una ricerca binaria. Gli dai un commit che sai essere buono e uno che sai essere rotto; lui fa il checkout del commit a met脿 tra i due e aspetta che tu lo testi e riporti il risultato. Ogni risposta dimezza l鈥檌ntervallo. 340 commit si risolvono in al massimo 9 test, perch茅 2^9 = 512. ...