Git bisect — шаринган для поиска багов Когда баг появился где-то между сотнями коммитов, не нужно проверять историю вручную.

Когда баг появился где-то между сотнями коммитов, не нужно проверять историю вручную.

Запускаем:

git bisect start

git bisect bad

git bisect good <старый_рабочий_коммит>

Git будет делить историю пополам и просить отметить каждый найденный коммит:

git bisect good

git bisect bad

Через несколько шагов он покажет коммит, в котором появился баг.

Можно автоматизировать:

git bisect run pytest

Тогда Git сам прогонит тесты и найдёт виновника.

По сути, это техника теневых клонов для дебага: вместо проверки 1000 коммитов вручную достаточно около 10 шагов.

Больше подобныйх уроков с нуля до профи - https://t.me/pythonl/5619