Files
cheatsheet-tldr/tldr/git-bisect
2025-11-15 00:19:52 +00:00

43 lines
1.3 KiB
Plaintext

---
syntax: markdown
tags: [tldr, common]
source: https://github.com/tldr-pages/tldr.git
---
# 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 information: <https://git-scm.com/docs/git-bisect>.
- 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_commit}}`
- For each commit that `git bisect` selects, mark it as "bad" or "good" after testing it for the issue:
`git bisect {{good|bad}}`
- End the bisect session and return to the previous branch:
`git bisect reset`
- Skip a commit during a bisect (e.g. one that fails the tests due to a different issue):
`git bisect skip`
- Start a bisect session considering only commits that modify a specific file or directory:
`git bisect start {{bad_commit}} {{good_commit}} -- {{path/to/file_or_directory}}`
- Automate 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_arguments}}`
- Display a log of what has been done so far:
`git bisect log`
- Show remaining candidate commits to be checked:
`git bisect visualize`