--- title: Automatically find the commit that introduced a bug tags: commit,branch,advanced --- Uses a binary search algorithm and a given script to find which commit in history introduced a bug. - Use `git bisect start` to start the process. - Use `git bisect good ` to mark a `` as "good", indicating it is known to be bug-free. - Use `git bisect bad ` to mark a different `` as "bad" indicating it has the bug. - Use `git bisect run ` to run the given `` on each subsequent commit to find which commit introduce the bug. - Use `git bisect reset` to reset to the original branch. You can optionally specify a `` to reset to. ```sh git bisect start git bisect good git bisect bad git bisect run git bisect reset [] ``` ```sh git bisect start git bisect good 3050fc0de git bisect bad c191f90c7 git bisect run npm test # Run `npm test` for each commit # ... some time later the bad commit will be printed git bisect reset # Goes to the original branch ```