{
  "id": 8578397,
  "title": "Twelve Commits, One Regression, Four Test Runs: git bisect run",
  "url": "https://urgent.news/2026/09/20/twelve-commits-one-regression-four-test-runs-git-bisect-run",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-09-20T01:02:55.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/jjoyneriv/twelve-commits-one-regression-four-test-runs-git-bisect-run-ahn"
  },
  "original_language": "en",
  "account": "Git bisect is a tool that allows developers to quickly find the commit that introduced a regression in their codebase. It requires three things: a commit that is known to be bad, a commit that is known to be good, and a way to test if a commit is good or bad. The bisect process involves checking out the middle commit between known good and bad commits, running the test, and reporting if the test passed or failed. Git then halves the remaining range and repeats the process until it finds the first bad commit. The test must be able to run at any commit without depending on files that arrived later. The exit code of the test determines whether it is good or bad. Honest endpoints are important, as an incorrect good commit will lead to an incorrect result. The test should focus on a specific thing, not the whole suite, to speed up the process. Git bisect can skip commits when they cannot be tested and works correctly with merges. It is easy to reuse a session and recover if a dirty tree is bisected.",
  "summary": "The test fails on main . It passed a week ago. Twelve commits landed in between, most of them documentation, and nobody remembers which one touched the code. You could read all twelve diffs. Or you could let Git binary-search them in four steps. git bisect is the tool. It is older than most of the people who avoid it, and it needs three things: a commit you know is bad, a commit you know is good,…",
  "key_points": [
    "git bisect tool finds regression-causing commit",
    "Requires known bad, known good commits, and test",
    "Test determines good/bad outcome, speeds up process"
  ],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}