git bisect
Binary search through commit history to find the commit that introduced a bug. git bisect start, mark good/bad, repeat — git checks out the middle commit each step.
Logarithmic — 1024 commits = ~10 steps. git bisect run ./test.sh automates: runs the script, exit code 0 = good, 1-127 = bad, 125 = skip. Critical for hunting regressions in long-running projects (kernel, browsers, language runtimes).