Сегодня узнал о способе отладки через git bisect
. Работает это путем поиска по истории репозитория.
Допустим зарелизили в прод стопицот фич и что-то сломалось. Неделю назад работало, а теперь нет. Берем коммит недельной давности, когда точно все работало и переключаемся в него: git checkout <тот самый коммит>
. Ставим метку git bisect start
.
Проверяем, все ли работает и если да ставим метку: git bisect good
. Далее git кидает нас на следующий коммит. Если все работает ставим good, если нет: git bisect bad
. И так продолжаем искать с середины диапазона сужая поиск пока не останется один коммит.
Найдя коммит, где все сломалось, уже можно понять проблему. Для завершения поиска: git bisect reset
. Эта штука сегодня сильно помогла мне найти проблему, так что я решил записать все, пока не забыл 🙂
Подробнее можно почитать вот тут.