Name

bisect

Synopsis

git bisect start [bad-commit [good-commit ...]] -- [path ...]
git bisect bad [commit ...]
git bisect good [commit ...]
git bisect skip [commit ...]
git bisect reset
git bisect view
git bisect run cmd [args ...]

Go back in history to find the first commit that introduced a problem. git bisect uses a binary search algorithm to narrow down which commit caused a problem using as few steps as possible. If there are n commits to consider, git bisect can find the exact culprit with approximately log2 n attempts. For example, with 100 commits, it will take about 7 tries; with 1,000 commits, it will take about 10 tries.

git bisect start [bad-commit [good-commit ...] -- [path ...]

Use this command to start the bisection. You can optionally specify one known bad-commit (which exhibits the problem) and one or more known good-commits (which do not exhibit the problem). If you know the bug is in a particular set of files or directory, specify them as paths to further narrow the set of commits to consider.

git bisect bad [commit ...]

Mark the given commit(s) as bad and check out the next candidate. If no commits are provided, the default is the currently checked-out HEAD.

git bisect good [commit ...]

Mark the given commit(s) as good and check out the next candidate. If no commits are provided, the default is the currently checked-out HEAD.

git bisect skip [commit ...]

Mark the given commit(s) as untestable and check out the next candidate. You need this if some other bug exists in the ...

Get Linux in a Nutshell, 6th Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.