git bisect
Бинарный поиск по истории коммитов, чтобы найти тот, что внёс баг. git bisect start, пометки good/bad — и так по кругу: на каждом шаге git переключается на средний коммит.
Логарифмическая сложность: 1024 коммита — около 10 шагов. git bisect run ./test.sh автоматизирует процесс: запускает скрипт, код выхода 0 — хороший коммит, 1–127 — плохой, 125 — пропустить. Незаменим для поиска регрессий в долгоживущих проектах (ядро, браузеры, среды выполнения языков).