git show
Что такое git-show?
git-show
— это утилита командной строки, которая используется для просмотра подробных данных об объектах Git, например больших двоичных объектах, деревьях, тегах и коммитах. Поведение git-show
различается в зависимости от типа объекта.
Для тегов отображаются комментарии к тегам и другие объекты, включенные в тег. Для деревьев отображаются имена и содержимое объектов дерева. Для больших двоичных объектов отображается непосредственно содержимое этих объектов. Для коммитов отображаются комментарии журнала коммитов и выходные данные сравнения, показывающие изменения в коммите.
Все объекты Git вызываются с помощью ссылок. По умолчанию git-show
выполняет ссылку HEAD. Ссылка HEAD всегда указывает на последний коммит текущей ветки. Поэтому можно использовать git-show
для просмотра комментариев журнала и выходных данных сравнения последнего коммита.
Параметры git-show
<объект>…
Можно передать ссылку на объект или список объектов, чтобы проанализировать их. Если объекты явным образом не переданы, git-show
по умолчанию выводит данные для ссылки HEAD.
--pretty[=<формат>]
С параметром pretty указывается одно из следующих дополнительных значений формата: oneline, short, medium, full, fuller, email, raw
и format:<строка>
. Если этот параметр опущен, устанавливается значение формата по умолчанию medium
. Каждый вариант формата представляет собой шаблон, по которому Git форматирует выводимые данные. Вариант oneline
удобно использовать для отображения списка коммитов.
--abbrev-commit
Этот параметр сокращает длину идентификатора коммита в выводимых данных. Идентификаторы коммитов длиной в 40 символов может быть неудобно просматривать в узком окне терминала. Этот параметр в сочетании с параметром --pretty=oneline
позволяет git log
вывести данные в очень компактном виде.
--no-abbrev-commit
Всегда показывать полный 40-символьный идентификатор коммита. При этом --abbrev-commit
и любые другие параметры, сокращающие идентификаторы коммитов, такие как формат --oneline
, будут игнорироваться.
Связанные материалы
Перемещение полного репозитория Git
СМ. РЕШЕНИЕ
Изучите Git с помощью Bitbucket Cloud
--oneline
Это краткая форма расширенной команды --pretty=oneline --abbrev-commit
.
--encoding[=<кодировка>]
В комментариях git log по умолчанию устанавливается кодировка символов UTF-8. Параметр encoding позволяет изменить кодировку символов вывода. Этот параметр удобно использовать при работе с Git в среде с другой кодировкой символов, например в терминале для азиатских языков.
>--expand-tabs=<n>
--expand-tabs
--no-expand-tabs
Эти параметры заменяют символы табуляции пробелами при выводе комментариев журнала. Можно задать значение n
, чтобы определить, скольким пробелам равен символ табуляции. Если значение n не указано, символы табуляции будут заменяться 8 пробелами. Параметр --no-expand-tabs
даст результат, эквивалентный n=0
.
--notes=<ссылка>
--no-notes
В Git есть система заметок, которая позволяет прикреплять к объектам произвольные метаданные «примечаний». Эти данные можно скрыть или отфильтровать при использовании git-show
.
--show-signature
Этот параметр подтверждает, что коммит подписан зашифрованной подписью, для чего передает его подкоманде gpg.
Форматы pretty для git-show
Описанный выше параметр --pretty
работает с несколькими второстепенными параметрами, влияющими на формат вывода git-show
. Эти второстепенные параметры перечислены ниже вместе с примером шаблона.
- oneline
<sha1><строка заголовка>
Параметр oneline умещает в одной строке максимально возможный объем информации.
- short
commit <sha1>
Author: <автор>
<строка заголовка>
- medium
commit <sha1>
Author: <автор>
Date: <дата автора>
<строка заголовка>
<полный комментарий к коммиту>
- full
commit <sha1>
Author: <автор>
Commit: <разработчик>
<строка заголовка>
<полный комментарий к коммиту>
- fuller
commit <sha1>
Author: <автор>
AuthorDate: <дата автора>
Commit: <разработчик>
CommitDate: <дата разработчика>
<строка заголовка>
<полный комментарий к коммиту>
- email
From <sha1> <дата>
From: <автор>
Date: <дата автора>
Subject: [PATCH] <строка заголовка>
<полный комментарий к коммиту>
- raw
При форматировании с параметром raw игнорируются другие прямые параметры форматирования, переданные командеgit-show
, и коммит выводится в том виде, в котором он сохранен в объекте. Параметр raw игнорирует значения--abrev
и--no-abbrev
и всегда выводит родительские коммиты.
- format:
Параметр format позволяет определить пользовательский формат вывода. Он работает аналогично командеprintf
в языке C. Параметр--pretty=format
использует дополнительное значение строки шаблона. Шаблон имеет доступ к переменным-заполнителям, которые заполняются данными из объекта коммита. Эти заполнители перечислены ниже:
• %H: хеш коммита
• %h: сокращенный хеш коммита
• %T: хеш дерева
• %t: сокращенный хеш дерева
• %P: хеши родительских элементов
• %p: сокращенные хеши родительских элементов
• %an: имя автора
• %aN: имя автора
• %ae: электронная почта автора
• %aE: электронная почта автора
• %ad: дата автора (в формате учитывается параметр --date=)
• %aD: дата автора, стиль RFC2822
• %ar: дата автора, относительная
• %at: дата автора, метка времени UNIX
• %ai: дата автора, формат ISO 8601
• %cn: имя разработчика
• %cN: имя разработчика
• %ce: электронная почта разработчика
• %cE: электронная почта разработчика
• %cd: дата разработчика
• %cD: дата разработчика, стиль RFC2822
• %cr: дата разработчика, относительная
• %ct: дата разработчика, метка времени UNIX
• %ci: дата разработчика, формат ISO 8601
• %d: имена ссылок, аналогично параметру --decorate команды git-log(1)
• %e: кодировка
• %s: тема
• %f: очищенная строка темы, подходящая для имени файла
• %b: тело
• %N: примечания к коммиту
• %gD: средство выбора reflog, например refs/stash@{1}
• %gd: сокращенное средство выбора reflog, например stash@{1}
• %gs: тема reflog
• %Cred: переключение цвета на красный
• %Cgreen: переключение цвета на зеленый
• %Cblue: переключение цвета на синий
• %Creset: сброс цвета
• %C(…): спецификация цвета, как указано в параметре конфигурации color.branch.*
• %m: метка левого края, правого края или границы
• %n: новая строка
• %%: необработанный %
• %x00: печать байта из шестнадцатеричного кода
• %w([[, : переключение переноса строк аналогично параметру -w команды git-shortlog[, ]]])
Примеры git-show
git show --pretty="" --name-only bd61ad98
Эта команда выводит список всех файлов, задействованных в коммите.
git show REVISION:path/to/file
Эта команда выводит конкретную версию файла. Замените элемент REVISON
sha-хешем Git.
git show v2.0.0 6ef002d74cbbc099e1063728cab14ef1fc49c783
Эта команда выводит тег v2.0.0, а также коммит в 6ef002d74cbbc099e1063728cab14ef1fc49c783
.
git show commitA...commitD
Эта команда выводит все коммиты в диапазоне между commit A
и commit D
.
Резюме
git-show
— это универсальная команда для анализа объектов в репозитории Git. С ее помощью можно найти конкретные версии определенных файлов. При анализе диапазона коммитов с помощью git-show
выводятся все отдельные коммиты в указанном диапазоне. Команду git-show
удобно использовать для создания примечаний к исправлениям и отслеживания изменений в репозитории.
Поделитесь этой статьей
Следующая тема
Рекомендуемые статьи
Добавьте эти ресурсы в закладки, чтобы изучить типы команд DevOps или получать регулярные обновления по DevOps в Atlassian.