Via Sebastian Bergmann’s blog I’ve learned about git bisect and how it can used for debugging. Sebastian demonstrates the functionality together with PHPUnit. I am a git newbie, so that was quite interesting for me.
git bisect can be used to find the change that introduced a bug. It does so by performing a binary search on the list of commits between a known good and a known bad state of the repository. A tool such as PHPUnit can be invoked at each step of the binary search to check whether or not the current state is broken.
Here is a shortcut on how to actually use it:
$ git bisect start $ git bisect good someVersion $ git bisect bad someOtherVersion $ git bisect run someCommand -with SomeArgument