Получение всех коммитов
git log
![](https://habrastorage.org/getpro/habr/upload_files/54a/950/d5e/54a950d5eb8754f4b2f0ddec384655cd.png)
Получение последних n коммитов
Мы можем получить последние n коммитов, выполнив команду "git log -n". Скажем, мы хотим получить последние 2 коммита.
git log -2
![](https://habrastorage.org/getpro/habr/upload_files/43f/53c/475/43f53c475d451f5d4b5e19783450e23d.png)
Получение коммитов с определенной даты
Мы может фильтровать коммиты на основе даты, когда они были сделаны. Допустим, мы хотим получить все коммиты, сделанные 17.01.2022.
git log --since 2022-01-17
![](https://habrastorage.org/getpro/habr/upload_files/a9a/ecf/836/a9aecf836bb09fecb0ac85ca19fd3218.png)
Получение коммитов до определенной даты
Аналогично мы можем получить коммиты, которые были сделаны до какой-то конкретной даты.
git log --until 2022-01-16
![](https://habrastorage.org/getpro/habr/upload_files/44a/6be/71a/44a6be71a281e8f051a165abfaac7a7b.png)
Получение коммитов по автору
Мы также можем получить коммиты, сделанные определенным автором. Например:
git log --author=pipinho13
![](https://habrastorage.org/getpro/habr/upload_files/bb2/b17/adf/bb2b17adfe15c219a9ec07cf13acca21.png)
Получение коммитов между двумя SHAs
Мы можем получить логи между двумя SHAs следующим образом:
git log <XXX>...<YYY>
где XXX и YYY - это соответствующие SHAs. Обратите внимание, мы можем заменить <YYY> на HEAD, если необходимо получить коммиты от <XXX> до настоящего момента, то есть:
git log <XXX>...HEAD
Получение коммитов, относящихся к файлу
Мы можем фильтровать логи по файлам. Предположим, мы хотим получить все логи, связанные с файлом "README.md".
git log README.md
![](https://habrastorage.org/getpro/habr/upload_files/209/5d7/0ee/2095d70ee1ab8c7b34e9ca84c7dd4ee3.png)
Получение коммитов с использованием выражения
Мы можем использовать мощную команду "grep", чтобы фильтровать коммиты. Обычно мы ищем какое-то выражение в сообщении к коммиту. Например, давайте получим коммиты, которые содержат слово "wrong" в сообщении:
git log --grep="wrong"
![](https://habrastorage.org/getpro/habr/upload_files/e62/6c8/822/e626c8822efd869f94957513de36efb0.png)
Комментарии (5)
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
и насохранять ещё парочку алиасов под каждого разработчика, чтобы мониторить чем он там занимается.Сразу станет видно насколько у вас чистый гит в команде )
Elmot
man git?