Получи случайную криптовалюту за регистрацию!

​​Git bisect #разработка Давным-давно рассказывал о таком кр | Android Live 🤖

​​Git bisect
#разработка

Давным-давно рассказывал о таком крутейшем инструменте, как git bisect. С тех пор я много раз им пользовался, и хотелось бы, чтобы он был в арсенале как можно у большего числа разработчиков.

Типичная проблема: вы видите, что проявилась проблема, которой не было в прошлом релизе, а между релизами прошло уже несколько десятков коммитов.
Просматривать вручную весь код — утомительно и долго, да и не результативно.

И вот на помощь нам приходит отличный, но почему-то не очень распространённый инструмент — git bisect.

Чтобы его использовать необходимо:
1) Открыть консоль git и перейти в папку проекта.
2) Ввести git checkout , где вместо скобок записать коммит, в котором проявилась проблема.
3) Начать процесс поиска при помощи команды git bisect start.
4) Пометить этот коммит плохим при помощи команды git bisect bad.
5) Пометить коммит, где точно нет проблемы при помощи команды git bisect good .
6) Далее повторяете процесс. Каждый раз git будет переключать в нужный коммит между предыдущим хорошим и плохим коммитом при помощи бинарного поиска. Собираете проект и проверяете, проявляется ли проблема. Если да, то вводите git bisect bad, если же нет, то git bisect good.
7) После завершения поиска вводите git bisect reset, чтобы вернуть репозиторий в начальное состояние.

У вас получится найти проблемный коммит за log n шагов, где n — число коммитов между первыми помеченными коммитами.