--- title: Git bisect automation date: 2020-11-12 2 layout: post lang: en ref: git-bisect-automation --- It is good to have an standardized way to run builds and tests on the repository of a project, so that you can find when a bug was introduced by using `git bisect run`. I've already been in the situation when a bug was introduced and I didn't know how it even was occurring, and running Git bisect over hundreds of commits to pinpoint the failing commit was very empowering: ``` $ GOOD_COMMIT_SHA=e1fd0a817d192c5a5df72dd7422e36558fa78e46 $ git bisect start HEAD $GOOD_COMMIT_SHA $ git bisect run sn -c './build.sh && ./run-failing-case.sh' ``` Git will than do a binary search between the commits, and run the commands you provide it with to find the failing commit. Instead of being afraid of doing a bisect, you should instead leverage it, and make Git help you dig through the history of the repository to find the bad code.