git show
git show: показать детали конкретного коммита, тега или другого объекта (англ. show — показать).
Команда git show используется для вывода подробной информации о конкретном объекте Git, чаще всего о коммите. Она показывает метаданные коммита (автора, дату, сообщение) вместе с разницей (англ. diff) изменений, внесённых этим коммитом. Эта команда особенно удобна, когда нужно посмотреть, что именно изменилось в конкретном коммите, не сравнивая его с родителем вручную.
По умолчанию git show выводит последний коммит в текущей ветке. Можно указать любой хеш коммита, имя ветки, тег или другую ссылку Git, чтобы посмотреть детали конкретного объекта. Вывод включает сообщение коммита, информацию об авторе, метку времени и унифицированный diff со всеми изменениями, сделанными в этом коммите.
Если вывод git show слишком длинный и не помещается на одном экране, терминал перейдёт в режим постраничного просмотра. Можно прокручивать вывод с помощью стрелок и (или использовать PageUp и PageDown для более быстрой прокрутки). Чтобы выйти из этого режима, нужно нажать q.
Примеры
Посмотреть детали последнего коммита:
git showПосмотреть детали конкретного коммита по его хешу:
git show 1a2b3c4dВывести только сообщение коммита и метаданные без вывода диффа:
git show --no-patchПосмотреть изменения конкретного файла в коммите:
git show 1a2b3c4d -- path/to/file.jsРазделитель -- сообщает Git, что всё, что идёт после него, нужно воспринимать как путь к файлу, даже если это похоже на имя ветки или тега. Он полностью опционален, но помогает избежать путаницы между именами файлов и ссылками Git.
Вывести только имена файлов, которые были изменены в коммите:
git show --name-onlyРазбор вывода
При запуске git show для коммита вывод обычно выглядит так:
commit 1a2b3c4d5e6f7g8h9i0j1k2l3m4n5o6p7q8r9s0tAuthor: John Doe <john.doe@example.com>Date: Mon Jan 15 14:30:25 2024 -0500Fix navigation bug in mobile view.Updated CSS media queries to properly handle small screens.diff --git a/src/components/Navigation.js b/src/components/Navigation.jsindex 1c2s3z5..4f5g6h7 100644--- a/src/components/Navigation.js+++ b/src/components/Navigation.js@@ -45,2 +45,6 @@- display: block;+ display: none;+}++@media (max-width: 768px) {+ .mobile-menu {+ display: block;+ }+}Этот вывод показывает:
- Хеш коммита (англ.
commit hash): уникальный идентификатор для этого конкретного коммита. - Автор (англ.
author): кто сделал коммит, включая email. - Дата (англ.
date): когда был создан коммит. - Сообщение коммита (англ.
commit message): описание того, какие изменения были внесены и зачем. - Разница (англ.
diff): сами изменения в файлах, в том же формате, что и уgit diff.
Блок с изменениями (diff) следует тем же правилам, что и другие выводы Git diff: строки с префиксом - показывают удалённое, а строки с префиксом + — добавленное.
.gitignoregit checkoutgit configgit taggit worktree