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 для полного контекста.