My favorite part of `git bisect` is `run`: give it a script that'll exit with 0 for a good commit and non-0 for a bad commit, and it'll do it all for you!
Personal gripe: I always, always, forget to `git bisect reset`.
A friend blew my mind with this a while ago when I was trying to track down a commit which broke something. This short guide he wrote gives step by step instructions for using it with your tests: https://gist.github.com/jordelver/5998870
Personal gripe: I always, always, forget to `git bisect reset`.