2.2 KiB
Raw Blame History

git bisect

Использовать бинарный поиск для нахождения коммита, внесшего ошибку (баг). Git автоматически перемещается по графу коммитов, чтобы постепенно сузить круг поиска ошибочного коммита. Больше информации: https://git-scm.com/docs/git-bisect.

  • Начать сессию бисекции в диапазоне коммитов между известным плохим и известным хорошим (обычно более старым):

git bisect start {{плохой_коммит}} {{хороший_коммит}}

  • Отметить каждый выбираемый git bisect коммит как "плохой" или "хороший" после его проверки на наличие ошибки:

git bisect {{good|bad}}

  • Завершить сессию бисекции и вернуться к исходной ветке:

git bisect reset

  • Пропустить коммит во время бисекции (например, тот, который не проходит тесты из-за другой проблемы):

git bisect skip

  • Начать сессию бисекции, рассматривая только коммиты, которые изменяют определённый файл или каталог:

git bisect start {{плохой_коммит}} {{хороший_коммит}} -- {{путь/к/файлу_или_каталогу}}

  • Автоматизировать процесс бисекции с помощью скрипта, который возвращает код 0 для "хорошего" коммита и ненулевой код для "плохого":

git bisect run {{путь/к/тестовому_скрипту}} {{дополнительные_аргументы_скрипта}}

  • Вывести лог проделанных на данный момент действий:

git bisect log

  • Показать оставшиеся коммиты-кандидаты для проверки:

git bisect visualize