510просмотров
8.1%от подписчиков
25 марта 2026 г.
questionScore: 561
🔍 Как найти коммит, который сломал сборку? (Git Bisect) Бывает так: вчера проект работал идеально, а сегодня — всё падает. Ты не знаешь, в какой именно момент закралась ошибка, ведь за день было сделано 20 коммитов. Перебирать каждый вручную — долго и мучительно. Задача:
— Быстро найти тот самый «плохой» коммит среди десятков других.
— Автоматизировать поиск бага, даже если ты не знаешь, где именно в коде проблема. Решение:
Используем «бинарный поиск» через git bisect. Git делит историю пополам, спрашивает тебя «тут работает?», и так за считанные шаги находит виновника. 1. Запускаем процесс git bisect start 2. Помечаем текущее состояние как “плохое” (тут баг есть) git bisect bad 3. Указываем хэш коммита, когда всё точно работало (например, вчерашний) git bisect good 7b2f3a1 Git переключит тебя на коммит ровно посередине. Проверяешь код (запускаешь тесты или приложение). 4. Если баг остался: git bisect bad Если всё работает: git bisect good Повторяй, пока Git не выдаст хэш того самого коммита-преступника. 5. Завершаем поиск и возвращаемся в реальность: git bisect reset Почему это магия?
— Скорость: чтобы найти ошибку среди 1000 коммитов, тебе понадобится всего около 10 проверок.
— Автоматизация: если у тебя есть готовый скрипт проверки, можно запустить git bisect run ./test.sh, и Git сам найдет баг, пока ты пьешь кофе. 🔥 — если bisect — твой главный детектив
🤝 — если ищешь баги глазами до победного ➡️ GitHub Ready | #урок