Binary search through history
git bisect uses binary search to find a commit associated with a regression. You mark one known-good commit and one known-bad commit, and Git checks a midpoint until the problematic range is narrowed down.
Automate when possible
If the project has a reliable test command that returns success for good revisions and failure for bad revisions, git bisect run can automate the search.
End the session
After identifying the relevant commit, run git bisect reset to return to the original branch state.