PassFront
  1. PassFront
  2. База знаний
  3. История и отмена изменений

Зачем нужна команда git bisect?

История и отмена изменений

`git bisect` помогает найти коммит, который сломал поведение, бинарным поиском по истории.

Как пользоваться

git bisect start
git bisect bad              # текущая версия сломана
git bisect good v1.2        # здесь всё работало
# Git переключит на середину — проверяем и отмечаем
git bisect good             # или git bisect bad
# ... повторяем, пока Git не назовёт виновный коммит
git bisect reset

Почему это быстро

Между хорошим и плохим коммитом может быть 1000 коммитов, но бинарный поиск найдёт виновника примерно за 10 проверок.

Автоматизация

git bisect run npm test

Git сам запускает команду на каждом шаге: код 0 — хороший коммит, иначе — плохой.

Коротко для собеседования

git bisect бинарным поиском по истории находит коммит, который внёс баг; проверку можно автоматизировать через git bisect run.

Подробнее: Pro Git — git bisect

Другие вопросы раздела