git bisect
Use binary search to find the commit that introduced a bug. Git automatically jumps back and forth in the commit graph to progressively narrow down the faulty commit.
More info →Examples (8)
Start a bisect session on a commit range bounded by a known buggy commit, and a known clean (typically older) one
git bisect start bad_commit good_commitFor each commit that `git bisect` selects, mark it as "bad" or "good" after testing it for the issue
git bisect good|badEnd the bisect session and return to the previous branch
Skip a commit during a bisect (e.g. one that fails the tests due to a different issue)
git bisect skipStart a bisect session considering only commits that modify a specific file or directory
git bisect start bad_commit good_commit -- path/to/file_or_directoryAutomate the bisect process using a test script that `exit`s with 0 for "good" and non-zero for "bad"
git bisect run path/to/test_script optional_script_argumentsDisplay a log of what has been done so far
Show remaining candidate commits to be checked
git bisect visualize