Команда
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.