Получение всех коммитов

git log

Получение последних n коммитов

Мы можем получить последние n коммитов, выполнив команду "git log -n". Скажем, мы хотим получить последние 2 коммита.

git log -2

Получение коммитов с определенной даты

Мы может фильтровать коммиты на основе даты, когда они были сделаны. Допустим, мы хотим получить все коммиты, сделанные 17.01.2022.

git log --since 2022-01-17

Получение коммитов до определенной даты

Аналогично мы можем получить коммиты, которые были сделаны до какой-то конкретной даты.

git log --until 2022-01-16

Получение коммитов по автору

Мы также можем получить коммиты, сделанные определенным автором. Например:

git log --author=pipinho13

Получение коммитов между двумя SHAs

Мы можем получить логи между двумя SHAs следующим образом:

git log <XXX>...<YYY>

где XXX и YYY - это соответствующие SHAs. Обратите внимание, мы можем заменить <YYY> на HEAD, если необходимо получить коммиты от <XXX> до настоящего момента, то есть:

git log <XXX>...HEAD

Получение коммитов, относящихся к файлу

Мы можем фильтровать логи по файлам. Предположим, мы хотим получить все логи, связанные с файлом "README.md".

git log README.md

Получение коммитов с использованием выражения

Мы можем использовать мощную команду "grep", чтобы фильтровать коммиты. Обычно мы ищем какое-то выражение в сообщении к коммиту. Например, давайте получим коммиты, которые содержат слово "wrong" в сообщении:

git log --grep="wrong"

Комментарии (5)


  1. Elmot
    13.02.2022 12:39

    man git?


  1. unsignedchar
    13.02.2022 12:51
    +4

    Чтение манов вслух ;)


    1. dopusteam
      13.02.2022 13:02
      +4

      С выражением


  1. vep
    13.02.2022 15:23

    Самое полезное, по-моему, это git log -S


  1. pistonsky
    15.02.2022 00:24
    +2

    Попробуйте

    git config --global alias.lol "log --graph --all --format=format:'%C(bold blue)%h%C(reset) - %C(bold green)(%ar)%C(reset) %C(white)%s%C(reset) %C(bold white)— %an%C(reset)%C(bold yellow)%d%C(reset)' --abbrev-commit --date=relative"

    И затем git lol

    Во время просмотра результатов такого лога можете нажать на / и затем вбить ключевое слово (например HEAD), а также после этого можно нажать на n чтобы перейти к следующему совпадению.

    Можно ещё прибавить к той команде --author Alex и насохранять ещё парочку алиасов под каждого разработчика, чтобы мониторить чем он там занимается.

    Сразу станет видно насколько у вас чистый гит в команде )