Флаги для ограничения вывода истории коммитов в Git

Ограничить вывод истории коммитов можно и с учетом времени, когда они были сделаны. Например, флаг --since=1day отобразит коммиты, сделанные за 1 день. Полный список флагов для ограничения вывода коммитов смотрите ниже:

Флаг Описание
-(n) Показывает последние коммиты с учетом указанного числа.
--since, --after* Отображает коммиты, сделанные после указанной даты.
--until, --before* Выводят коммиты, сделанные до указанной даты.
--author* Отображает коммиты для файлов с указанным автором.
--committer* Выводит коммиты, сделанные указанным коммитером, т.е. пользователем, вносящим изменения. Автор файла и коммитер могут являться разными пользователями.
grep Ищет и отображает коммиты, сообщение или примечание которых содержит указанную строку.

К некоторым ограничивающим флагам обязательным требованиям является добавление после их названия знака = и параметра, по которому мы ограничиваем вывод истории коммитов. Данные флаги отмечены в таблице *.

Пример . Вывод последних коммитов

Давайте выведем в консоль два последних коммита:

git log -2

После выполнения команды мы увидим:

commit 33498ca885348fba6060ad4c459963d9e756c8b6 (HEAD -> master) Author: root <root@node.com> Date: Tue Sep 12 10:52:30 2023 +0100 Story1 commit bb6945ff7c73c88981a0b2523c32e30f472fd918 Author: root <root@node.com> Date: Tue Sep 12 10:47:27 2023 +0100 text

Пример . Вывод коммитов, сделанных после указанной даты

Давайте выведем в консоль коммиты, сделанные после 11 сентября 2023 года:

git log --since="2023-09-11"

После выполнения команды мы увидим:

commit 33498ca885348fba6060ad4c459963d9e756c8b6 (HEAD -> master) Author: root <root@node.com> Date: Tue Sep 12 10:52:30 2023 +0100 Story1 commit bb6945ff7c73c88981a0b2523c32e30f472fd918 Author: root <root@node.com> Date: Tue Sep 12 10:47:27 2023 +0100 text

Пример . Вывод коммитов, сделанных до указанной даты

А теперь давайте выведем в консоль коммиты, сделанные до 11 сентября 2023 года:

git log --until="2023-09-11"

После выполнения команды мы увидим:

commit a99c51a34d6a89be9c56127e18a1e574d6188d61 Author: root <root@node.com> Date: Fri Jun 16 15:20:43 2023 +0100 initial commit

Пример . Вывод коммитов, сделанные указанным автором файлов

Давайте выведем в консоль все коммиты для файлов, созданных пользователем 'user':

git log --author="user"

После выполнения команды мы увидим:

commit 9c51a34d188d61a6a89be9c56127e18a1e574d69 Author: user <user@node.com> Date: Fri Jun 10 10:10:23 2022 +0100 initial commit

Пример . Вывод коммитов, сделанных указанным коммитером

А теперь давайте выведем в консоль все коммиты, сделанные пользователем 'root':

git log --committer="root"

После выполнения команды мы увидим:

commit 33498ca885348fba6060ad4c459963d9e756c8b6 (HEAD -> master) Author: root <root@node.com> Date: Tue Sep 12 10:52:30 2023 +0100 Story1 commit bb6945ff7c73c88981a0b2523c32e30f472fd918 Author: root <root@node.com> Date: Tue Sep 12 10:47:27 2023 +0100 text commit a99c51a34d6a89be9c56127e18a1e574d6188d61 Author: root <root@node.com> Date: Fri Jun 16 15:20:43 2023 +0100 initial commit

Пример . Вывод коммитов, указанное примечание

Давайте выведем в консоль все коммиты, в которых есть строка 'text':

git log --grep "text"

После выполнения команды мы увидим:

commit bb6945ff7c73c88981a0b2523c32e30f472fd918 Author: root <root@node.com> Date: Tue Sep 12 10:47:27 2023 +0100 text