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

Как найти коммит, в котором не было проблемы с утечкой памяти в Git?

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

Используется git bisect — бинарный поиск по истории коммитов. Помечаем текущий коммит как "плохой" (есть утечка), а известный старый коммит без проблемы — как "хороший". Git автоматически выбирает середины и просит проверить каждую, пока не найдёт коммит, в котором проблема впервые появилась.

git bisect start
git bisect bad                 # текущий коммит плохой
git bisect good v1.0.0         # релиз без утечки
# проверяем, отвечаем git bisect good/bad
git bisect reset

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

git bisect бинарным поиском находит коммит, внёсший проблему: отметьте один плохой и один хороший коммит и проверяйте то, что предлагает Git. Для ручной проверки хватит good и bad, для автоматической есть git bisect run.

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