Команда
git log
- это мощный инструмент для просмотра истории коммитов в репозитории Git. Она показывает список коммитов, начиная с самого последнего, и предоставляет информацию о каждом коммите, такую как:
- Хеш коммита (commit hash): Уникальный идентификатор коммита.
- Автор (Author): Имя и email автора коммита.
- Дата (Date): Дата и время коммита.
- Сообщение коммита (Commit message): Описание изменений, внесенных в коммите.
В базовой форме,
git log
отображает историю в обратном хронологическом порядке, показывая каждый коммит со всеми вышеуказанными деталями.
Однако,
git log
имеет множество опций, позволяющих фильтровать и форматировать вывод:
git log -n <число>
: Показывает только последние <число>
коммитов. Например, git log -n 5
покажет последние 5 коммитов.
git log --oneline
: Отображает каждый коммит в одну строку, показывая только короткий хеш и сообщение коммита. Это удобно для быстрого обзора.
git log --author="<имя>"
: Фильтрует коммиты по автору. Например, git log --author="John Doe"
покажет коммиты, сделанные Джоном Доу.
git log --grep="<шаблон>"
: Фильтрует коммиты по сообщению коммита, используя заданный шаблон. Например, git log --grep="fix bug"
покажет коммиты, в сообщении которых есть "fix bug".
git log --since="<дата>"
/ git log --until="<дата>"
: Фильтрует коммиты по дате. Например, git log --since="1 week ago"
покажет коммиты за последнюю неделю.
git log --graph
: Отображает историю коммитов в виде графа, показывая ветки и слияния. Часто используется с --oneline
для более компактного представления.
git log <файл>
: Показывает коммиты, которые затрагивали указанный файл. Например, git log src/main.py
покажет коммиты, в которых изменялся файл src/main.py.
git log --pretty=format:"<формат>"
: Позволяет настроить формат вывода коммитов. Например, git log --pretty=format:"%h - %an, %ar : %s"
покажет короткий хеш, имя автора, относительную дату и сообщение коммита. Список доступных спецификаторов формата можно найти в документации Git.
Использование различных опций
git log
позволяет эффективно находить нужную информацию в истории репозитория, отслеживать изменения, определять, кто и когда вносил те или иные изменения, и в целом понимать эволюцию проекта. Это незаменимый инструмент для любого разработчика, работающего с Git.