intermediate

Отладка и история

Исследуйте историю и регрессии через log, diff, blame, bisect и reflog до переписывания или восстановления работы.

История Git — набор данных для отладки. `log`, `diff`, `blame`, `bisect` и `reflog` восстанавливают intent, изолируют регрессии, сравнивают релизы и возвращают локальную работу после неожиданного сдвига refs.

Подтемы: git log, git diff, git blame, git bisect, reflog.

На интервью: выберите инструмент — diff для «что изменилось», log для «когда и зачем», blame для контекста строки, bisect для неизвестной регрессии, reflog для локального recovery.

Типовые ошибки: инструменты истории без тестов; огромные коммиты ломают bisect; blame как личное обвинение.

Компромисс — скорость расследования против уверенности; выводы проверяйте поведением и тестами.

Чеклист:

  • Начните с конкретного вопроса.
  • Детерминированное воспроизведение для регрессий.
  • log, diff и show до правки кода.
  • Выводы — с тестами.