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