foundation
git log
Ищите и форматируйте историю коммитов, чтобы понять когда, зачем и кем изменение попало в репозиторий.
`git log` просматривает историю коммитов. Фильтры и форматирование превращают плоский список в инструмент расследования.
git log --oneline -20
git log --graph --decorate --all
git log -p -- path/to/file.ts
git log main..feature/login
git log --grep="fix(auth)"
Фильтры по пути, диапазоны (`A..B`), автор/дата и граф отвечают: когда изменение попало, есть ли fix на main, что влилось до регрессии.
На интервью: найти изменение по сообщению или файлу, сравнить ветки, история релиза, связь коммитов с PR/issue.
Типовые ошибки: только последний коммит без контекста merge; shallow clone ограничивает глубину; огромный log без фильтров.
Компромисс — полный обзор истории против точечного запроса под один вопрос.
Чеклист:
- Фильтр по path, range или grep при отладке.
- `--graph` для топологии веток.
- От SHA к `git show` и метаданным PR.
- Вместе с diff и blame для полного контекста.