Git Bisect, une commande à connaitre

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

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

Explication

  • Vous découvrez un bug et ne savais pas depuis combien de temps il est là ;
  • Vous commencez par revenir sur un ancien commit pour lequel vous êtes sûr que le bug n'était pas là ;
  • Vous lancez git bisect qui va 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, vous serez soit au 1/4 soit au 3/4.
  • Dans tous les cas, cela divise par deux le nombre de commits potentiels à chaque itération, et il ne te faut souvent pas plus de 5 bissections pour identifier le commit responsable du bug !

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