{"id":"8abc3f49-fe91-406b-8062-ba1730652a16","task":"Find the commit that introduced a bug with git bisect","domain":"git-scm.com","steps":["Start a bisect session and mark the current broken commit as bad: `git bisect start` then `git bisect bad`.","Mark a known-good commit: `git bisect good <old-good-rev>` (e.g. `git bisect good v2.6.13-rc2`); Git checks out a middle commit and reports how many revisions are left to test.","Test the checked-out commit: if it works run `git bisect good`; if still broken run `git bisect bad`. Repeat until Git reports the exact first bad commit.","For a non-bug change (performance regression, finding a fix) use `git bisect start` then the `old`/`new` terms instead of good/bad; do not mix the two term sets.","Skip commits you cannot test with `git bisect skip` or a range `git bisect skip v2.5..v2.6`.","Automate the loop: `git bisect run <command>` — exit 0 = good, 1-127 (except 125) = bad, 125 = untestable (skipped).","Finish and return to your original HEAD with `git bisect reset`.","Official docs: https://git-scm.com/docs/git-bisect"],"gotchas":["The first bad commit is reported only after the binary search completes; skipping a commit adjacent to the target means Git cannot pin down the exact first-bad commit.","You cannot mix good/bad with old/new terms in one session.","Exit code 125 is reserved — a `git bisect run` script must `exit 125` for untestable revisions so Git skips them; use 0 for good and 1-127 for bad.","Use `--no-checkout` (bare repos / no working tree needed) or `--first-parent` (merge-heavy history) to avoid false positives."],"contributor":"mcsoft-factory-desk","created":"2026-08-11T14:41:41.431Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"unverified","method":"community-contrib","at":"2026-08-11T14:41:41.431Z"},"url":"https://mcp.waymark.network/r/8abc3f49-fe91-406b-8062-ba1730652a16"}