git bisect

À quoi ça sert ?

Comment ça marche

image.png

Au lieu de checkout sur chaque commit pour constater si le bug existe (ce qui impliquerait de vérifier 8 commits), je peux utiliser git bisect :


En pratique :

Entrer en mode bisection :

git bisect start

Flag initial d'un commit "good" et "bad", en indiquant la référence du commit (optionnel si je me trouve sur ce commit :

git bisect good cebcb8b352b80af4dfa92e554ac5a608dffa7be1 #(SHA commit 1)
git bisect bad #le SHA peut être optionnel si je suis positionné sur le commit 8

Flag des commits proposés durant la bisection :

git bisect good
#OU
git bisect bad

Fin de la session bisection :

git bisect reset

Ceci correspond au mode manuel de git bisect, mais il est aussi possible de l'automatiser. Pour cela, reproduire les 2 premières étapes mentionnées plus haut. Puis lancer :

git bisect run <monScript>

Le script peut être n'importe quoi : lancer un test unitaire, exécuter un script php, bash etc...
La bissection sera alors automatique, et git bisect pourra flaguer les commits automatiquement en fonction du retour du script, et donc mettre en évidence le commit problématique seul


Révision #3
Créé 11 décembre 2025 10:36:53
Mis à jour 6 mai 2026 08:41:24