Git Bisect, une commande à connaitre

Un bug est passé sous les radars, et tu ne sais pas depuis combien de temps il est là... git bisect est le héro dont tu as besoin !

Cette commande méconnue de git est vraiment géniale quand tu en as besoin ! Perso ça m'est arrivé 2-3 fois seulement, mais sans elle j'aurais pris bien plus de temps à résoudre mes bugs.

Explication :

  • Tu découvres un bug et ne sais pas depuis combien de temps il est là ;
  • Tu commences par revenir sur un ancien commit pour lequel tu es sûr que le bug n'était pas là ;
  • Tu lances git bisect qui va te faire... Une bissection ! Oui voilà, bravo les mathématiciens 😁 Il va se placer sur le commit entre l'actuel et le dernier et te demander si le bug est là ?
  • Si oui, il va faire une bissection entre le commit du milieu et le dernier, si non, une bissection entre celui du milieu et le premier. Du coup, tu seras soit au 1/4 soit au 3/4.
  • Dans tout les cas tu divises par deux le nombre de commit potentiels à chaque itération, et il ne te faut souvent pas plus de 5 bissections pour identifier le commit responsable de ton bug !

Après il te reste à faire les modifs, mais git bisect aura fait son travail rapidement.