Команди Git

git show

git show: показати деталі конкретного коміту, тега чи іншого об'єкта (англ. show — показати).

Команда git show виводить докладну інформацію про конкретний об'єкт Git — найчастіше про коміт. Вона показує метадані коміту (автора, дату, повідомлення) разом із diff, тобто зі змінами, які цей коміт вносить. Команда особливо зручна, коли хочеться подивитися, що саме змінилося в конкретному коміті, не порівнюючи його з батьківським вручну.

За замовчуванням git show показує найсвіжіший коміт поточної гілки. Можна вказати будь-який хеш коміту, назву гілки, тег чи інший реф Git, щоб побачити деталі саме цього об'єкта. У виводі буде повідомлення коміту, інформація про автора, часова мітка та diff з усіма змінами, зробленими в цьому коміті.

Коли вивід git show завеликий і не вміщається на один екран, термінал перейде в режим pager (посторінковий перегляд). Гортати вивід можна стрілками і (або клавішами PageUp і PageDown, щоб гортати швидше). Щоб вийти з режиму pager, натисни q.

Приклади

Показати деталі найсвіжішого коміту:

git show

Показати деталі конкретного коміту за його хешем:

git show 1a2b3c4d

Показати тільки повідомлення та метадані коміту, без diff:

git show --no-patch

Показати зміни конкретного файла в коміті:

git show 1a2b3c4d -- path/to/file.js

-- — спеціальний роздільник, який каже Git сприймати все після нього як шлях до файла, навіть якщо воно схоже на назву гілки чи тега. Він необов'язковий, але корисний, коли треба уникнути плутанини між назвами файлів і рефами Git.

Показати тільки назви файлів, змінених у коміті:

git show --name-only

Як читати вивід

Якщо запустити git show для коміту, вивід зазвичай має такий вигляд:

Результат:
commit 1a2b3c4d5e6f7g8h9i0j1k2l3m4n5o6p7q8r9s0t
Author: John Doe <john.doe@example.com>
Date: Mon Jan 15 14:30:25 2024 -0500
Fix 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.js
index 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 оформлена за тими самими правилами, що й інші diff-виводи Git: рядки з префіксом - показують видалене, а рядки з префіксом + — додане.