Which commit broke the build? Using Git Bisect
Published on
Updated 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