Hackernoon logoUnderstanding Git-Bisect, i.e. Use Binary Search to Find the Change that Introduced a Bug by@fhinkel

Understanding Git-Bisect, i.e. Use Binary Search to Find the Change that Introduced a Bug

image
Franziska Hinkelmann Hacker Noon profile picture

@fhinkelFranziska Hinkelmann

Senior engineer at Google. Working on Node.js for @GCPcloud. Node.js TSC member. ❤️ JavaScript. she/

Git is a powerful tool. Once you’ve mastered commit and merge, there are endless possibilities. A very useful one is 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. 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. 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.

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.

Franziska Hinkelmann Hacker Noon profile picture
by Franziska Hinkelmann @fhinkel. Senior engineer at Google. Working on Node.js for @GCPcloud. Node.js TSC member. ❤️ JavaScript. she/Read my stories

Tags

Join Hacker Noon

Create your free account to unlock your custom reading experience.