2.2 KiB
2.2 KiB
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