Git log: расширенные опции и анализ истории коммитов

Это руководство описывает расширенные опции команды git log для анализа истории коммитов в Git. Предполагается наличие локального репозитория с достаточным количеством коммитов и веток.

Базовый вывод git log

Команда git log без параметров предоставляет подробный обзор всех коммитов: полные SHA-хеши, указатели на локальную головную ветку (HEAD) и её ветви, удалённые указатели (remotes), дату каждого коммита и сообщение к нему.

Компактный вывод: —oneline и git lg

Опция —oneline обеспечивает компактный вывод, отображая каждый коммит на отдельной строке, начиная с сокращенного SHA-хеша и сообщения коммита. Длинные сообщения обрезаются. Команда git lg аналогична git log —oneline, но дополнительно отображает дату коммита и имя автора.

git log --oneline
git lg

Визуализация истории: —graph

Опция —graph отображает графическое представление истории коммитов, показывая количество предшественников каждого коммита. Коммиты с несколькими родительскими коммитами (например, после слияния веток) будут иметь соответствующие ветвления на графике. Для наглядного отображения структуры ветвления и коммитов рекомендуется использовать сочетание —graph и —oneline:

git log --graph --oneline

Статистика изменений: —stat и отображение diff: -p

Опция —stat добавляет к информации о каждом коммите статистику изменений: количество измененных файлов, добавленных и удаленных строк кода в каждом файле. Плюсы (+) обозначают добавленные строки, минусы (-) — удаленные. Опция -p показывает не только список измененных файлов, но и конкретные изменения в каждом файле (diff). Для удобного просмотра diff рекомендуется использовать графический интерфейс (например, VS Code, GitHub Desktop или SourceTree).

git log --stat
git log -p

Ограничение количества коммитов: -n

Для отображения ограниченного количества последних коммитов используется опция -n (или —max-count) с указанием числа коммитов:

git log -n 4 --oneline

Эта команда покажет последние четыре коммита в режиме —oneline.

Рассмотренные опции команды git log позволяют эффективно анализировать историю коммитов, выбирая наиболее удобный формат вывода. Для удобного просмотра изменений в файлах рекомендуется использовать графический интерфейс.

Что будем искать? Например,программа