Git is a powerful tool. Once you’ve mastered `commit` and `merge`, there are endless possibilities. A very useful one is `[git-bisect](https://git-scm.com/docs/git-bisect)`. It helps you find a commit that introduced a certain change in behavior. We use `git-bisect` a lot in the [Node.js project](https://github.com/nodejs/node). The Node.js project has good continuous integration but some bugs are only discovered after a release. With `git-bisect`, it’s easy to find the bad commit. #### Try it! If you want to try out `git-bisect`, here is a [demo repository](https://github.com/fhinkel/git-bisect-demo). At some point, a bug was introduced as you can see by running `npx mocha test1.js`. Can you find the bad commit?  [Use this repository to practice git bisect.](https://github.com/fhinkel/git-bisect-demo) #### Automating git-bisect Instead of testing each step manually, you can run `git-bisect` with a script. It will use the script at each step and automatically mark the commit, until it finds the **first bad commit**. 