Blog

Brandon Rozek

Photo of Brandon Rozek

Software Developer, Researcher, and Linux Enthusiast.

Which commit broke the build? Using Git Bisect

Published on

Lets imagine a scenario where in the latest merge a test starts failing. Lets say these tests are saved in test.sh. Instead of having to test each individual commit in the merge, to see where the test fails, luckily git bisect narrows it down in a more efficient way!

To use:

git bisect start [good] [bad]
git bisect run test.sh

Where [good] and [bad] are replaced with their respective commit hashes.

Under the hood, Git will run a binary search between the good and bad nodes in the commit tree.

As a reminder, don’t forget to make test.sh an executable. Starting in Git 2.36 it will provide a warning, but earlier versions will perform the search anyways even with it all failing.

Read more: https://git-scm.com/docs/git-bisect

Have you published a response to this? :