Поиск по сайту:

Как просмотреть историю коммитов с помощью Git Log


Git отслеживает коммиты с течением времени, позволяя вам следить за развитием и историей вашего кода. Хотя вы всегда можете использовать Github в Интернете для просмотра общедоступного репозитория, для навигации по локальному репозиторию требуется использование инструментов CLI для просмотра истории коммитов Git, таких как git log.

Решение без CLI: просто используйте клиент Git

Хотя вам определенно следует научиться использовать Git из командной строки, так как это помогает понять все, что вы делаете, это один из немногих случаев, когда действительно имеет смысл иметь правильный интерфейс для просмотра истории Git, особенно когда вы принимаете во внимание несколько ветвей, пультов, тегов и участников. Опыт использования онлайн-сервисов, таких как GitHub, явно полезен, так почему бы не использовать его на рабочем столе?

Существует множество клиентов Git с графическим интерфейсом, но наиболее заметными из них являются Github Desktop, GitKraken, Fork и SourceTree.

Тем не менее, выучить команды все же полезно. Возможно, вы не хотите использовать графический интерфейс, или вы можете находиться в удаленной среде через SSH, или вам может просто понадобиться быстрый просмотр, когда вы уже находитесь на своем терминале. К счастью, использовать git log довольно просто.

Использование git-лога

По умолчанию git log отображает много информации о каждом коммите — идентификатор ссылки, автора, дату, сообщение коммита и является ли он HEAD какой-либо ветки.

git log

Если вы хотите знать, какие файлы затронуты, вам нужно запустить его с помощью --stat, который отобразит список файлов с добавлением и удалением.

git log --stat

Если вы хотите узнать, что на самом деле изменилось в этих коммитах, вам нужно запустить его с помощью -p, который можно использовать как с --stat, так и без него:

git log --stat -p

Это может быть много для фильтрации, поэтому вы можете отсортировать по дате:

git log --after="2014-7-1" --before="2014-7-4"

Или просмотреть по затронутому файлу:

git log -- example.json

Или с помощью строки поиска:

git log -S"Hello, World!"

Или просмотрите важные коммиты слияния:

git log --merges

И, если вы просто хотите просмотреть изменения одного коммита из журнала, вы можете скопировать хэш и запустить git show:

git show e9d802bdc3a61943b2c9c736194a202b4e000180

Просмотр истории веток

Просто наличие списка коммитов может быть запутанным для сортировки веток. К счастью git log предоставляется параметр --graph , который можно использовать вместе с некоторыми

git log --graph --oneline --decorate

Вы также можете использовать пользовательское форматирование, если вам не нравится внешний вид этого:

--pretty=format:"%cn committed %h on %cd"

Этот конкретный набор параметров весьма полезен, но для него нет сокращения, поэтому, если вы часто его используете, мы рекомендуем установить псевдоним в ~/.bashrc или любой эквивалентной конфигурации, которую вы используйте для своей оболочки:

alias gitgraph='git log --graph --oneline --decorate'