TGViewer
Python for Devs Python for Devs @python_for_devs · 801 subscribers
Post #53 494
🙏 Git bisect: быстрый способ найти баг

Вы когда-нибудь ловили баг в проекте, который «ещё вчера работал»?

Коммитов — целая гора, глазами не найти. Тут и выручает git bisect.

Это штука, которая делает бинарный поиск по истории. Вы указываете, где баг точно есть (git bisect bad HEAD), и где его точно не было (git bisect good abc123).

Дальше Git сам переключает вас на середину между "плохим" и "хорошим" кодом и говорит: «проверь».

Вы смотрите: баг есть → git bisect bad, бага нет → git bisect good.

И так несколько раз, пока Git не ткнёт пальцем в конкретный коммит: вот тут всё сломалось.

Фишка в том, что даже если между good и bad 100 коммитов, руками проверять придётся не сто, а всего 6–7. Логарифмы в действии 🙂

А если повезло, и баг можно проверить скриптом (например, тест падает с кодом 1) — вообще красота:


git bisect run ./test_bug.sh


Git сам пройдётся по истории и принесёт виновника на блюдечке.

Так что если в следующий раз придётся охотиться за багом — не спешите листать git log. Пусть git bisect сделает грязную работу 😉
  • 👍 8
  • ❤ 3
  • 🔥 3
More from @python_for_devs
  1. Sep 30, 2026Тут больше не будет новостей, статей и постов про Python. Python-разработчику сейчас важне…
  2. Jan 23, 2026⚰️ 2025 год для Flask прошёл почти без движений За год вышло всего два патч-релиза к верси…
  3. Jan 16, 2026В новой статье разбираем попытку превратить Python в формат распространения уровня «один б…
  4. Jan 13, 2026🔥 Anthropic инвестируют $1.5 млн в Python — и делают ставку на безопасность open source A…
  5. Jan 12, 2026⚡️ DuckDB разрушает мифы: 1 ТБ данных — за секунды, без Spark Принято считать, что терабай…
  6. Dec 29, 2025🎄 Итоги года 4Devs 2025 На прошлой неделе Habr опубликовал итоги года — и наш проект попа…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →