Trouver le commit fautif avec Git Bisect : une démarche rapi

Voici une proposition de meta description : "Trouvez la bonne version avec Git Bisect ! Découvrez comment utiliser cette fonctionnalité pour isoler et résoudre

Mahmoud DEVO
Mahmoud DEVO
December 28, 2025 2 min read
Trouver le commit fautif avec Git Bisect : une démarche rapi

Trouvez et corrigez les bugs avec Git

Lorsque vous développez des logiciels, il est inévitable que vous rencontriez des bogues. Mais comment les trouver et les corriger efficacement ? Dans cet article, nous allons explorer deux outils puissants de la ligne de commande pour aider à identifier et à résoudre les problèmes : git bisect et git blame.

Trouvez le commut qui a introduit un bug avec Git Bisect

Imaginez que vous avez un bug sur votre branche principale, mais vous ne savez pas où il est venu. Vous savez qu’il n’était pas là dans la dernière version stable (taggée ou connue sous son hash de commit). C’est là que git bisect entre en scène.

Étape 1 : Lancer la session de bisect

Commencez par lancer la session de bisect avec la commande suivante :

$ git bisect start

Étape 2 : Spécifier les bons et mauvais commits

Indiquez à Git que le commit où le bug n’existe pas est 49c747d (remplacez par le hash de votre dernier commit stable) :

$ git bisect good 49c747d

Et spécifiez que le commut courant (HEAD) contient le bug :

$ git bisect bad HEAD

Étape 3 : Lancer la recherche

Git commence maintenant une recherche binaire pour trouver le commit qui a introduit le bug. Vous pouvez suivre les étapes avec les commandes git bisect good ou git bisect bad, selon que le commit est bon ou mauvais.

Lorsque Git a trouvé le commut, il vous indiquera le hash de commit qui contient le bug.

Étape 4 : Réinitialiser la session de bisect

N’oubliez pas de réinitialiser la session de bisect avec git bisect reset pour revenir à votre branche principale.

Automatiser la recherche avec un script

Si vous avez écrit un script qui peut détecter le bug, vous pouvez automatiser le processus avec :

$ git bisect run [script] [arguments]

[script] est le chemin vers votre script et [arguments] sont les arguments que vous souhaitez passer à votre script.

Identifiez qui a modifié un fichier avec Git Blame

Imaginez que vous voulez savoir qui a modifié une ligne spécifique dans un fichier. C’est là que git blame entre en scène.

Étape 1 : Afficher les informations de ligne

Commencez par afficher les informations de ligne pour le fichier avec la commande suivante :

$ git blame [filename]

[filename] est le chemin vers votre fichier.

Étape 2 : Restreindre les lignes à afficher

Vous pouvez restreindre les lignes à afficher en utilisant l’option -L <start>,<end>. Par exemple, pour afficher les lignes 10 à 30 :

$ git blame -L 10,30 [filename]

Ou vous pouvez spécifier une expression régulière pour sélectionner les lignes.

Autres options de Git Blame

Vous pouvez utiliser d’autres options pour personnaliser votre recherche. Voici quelques exemples :

  • -e : Affiche l’email de l’auteur au lieu du nom.
  • -w : Ignore les différences de formatage blanc (par exemple, indentation).
  • -L start,end : Affiche uniquement la plage de lignes spécifiée.

Conclusion

Dans cet article, nous avons vu comment utiliser git bisect et git blame pour identifier et corriger des bugs. Ces outils puissants peuvent aider à accélérer votre processus de développement en vous aidant à trouver rapidement les problèmes et à les résoudre efficacement.

Prochaines étapes

  • Pratiquez l’utilisation de ces commandes avec vos projets.
  • Explorez d’autres options et fonctionnalités pour personnaliser votre recherche.

J’espère que cet article vous a été utile ! Si vous avez des questions ou des commentaires, n’hésitez pas à les partager.

Advertisement

In-Article Ad

Dev Mode

Share this article

Mahmoud DEVO

Mahmoud DEVO

Senior Full-Stack Developer

I'm a passionate full-stack developer with 10+ years of experience building scalable web applications. I write about Vue.js, Node.js, PostgreSQL, and modern DevOps practices.

Enjoyed this article?

Subscribe to get more tech content delivered to your inbox.

Related Articles