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 до правки кода.
- Выводы — с тестами.