履歴

git show

コミット・タグ・ブロブなどの Git オブジェクトの詳細情報を表示します。特定のコミットの変更内容や、任意の時点のファイル内容を確認するのに使います。

構文 git show [options] <object>...

オプション

フラグ 説明
--stat 変更されたファイルの統計情報(変更行数・ファイル数)をサマリー形式で表示します。差分の全文を見ずに概要を把握したいときに便利です。
--name-only 変更されたファイルの名前のみを表示します。差分の内容は省略されます。
--format=<format> 出力フォーマットを指定します。oneline・short・full・fuller や、--format='%H %s' のようなカスタム書式が使えます。
-s, --no-patch 差分(diff)を表示せず、コミットのヘッダー情報(Author・Date・メッセージ)のみを表示します。

git show は、コミット・タグ・ツリー・ブロブなどの Git オブジェクトの詳細を表示するコマンドです。コミットを指定した場合はコミットメッセージと差分(diff)を表示し、タグを指定した場合はタグ情報と紐付いたコミットを表示します。

基本的な使い方

# 最新のコミット(HEAD)を表示
git show

# 特定のコミットハッシュを指定
git show a1b2c3d

# ブランチ名で指定
git show main

# タグを指定
git show v1.0.0

よく使うパターン

# 変更ファイルの統計情報のみ確認
git show --stat HEAD

# 変更されたファイル名だけ確認
git show --name-only HEAD~1

# 差分なしでコミットメッセージのみ確認
git show -s HEAD

# フォーマット指定(コミットハッシュと日時のみ)
git show --format="%H %ai" -s HEAD

出力例

commit a1b2c3d4e5f6789... (HEAD -> main)
Author: Taro Yamada <taro@example.com>
Date:   Thu Jun 12 14:30:00 2025 +0900

    ユーザー認証機能を追加

diff --git a/src/auth.js b/src/auth.js
index 0000000..1234abc 100644
--- /dev/null
+++ b/src/auth.js
@@ -0,0 +1,5 @@
+function login(user, password) {
+  // 認証処理
+  return user === 'admin';
+}

特定ファイルの内容を確認する

<コミットハッシュ>:<ファイルパス> の形式で、特定のスナップショット時点のファイル内容を直接参照できます。

# 特定のコミット時点のファイル内容を表示
git show a1b2c3d:src/index.js

# HEAD(最新コミット)時点のファイル内容を表示
git show HEAD:README.md

# 1つ前のコミット時点のファイル内容
git show HEAD~1:package.json

git log との使い分け

コマンド用途
git logコミット一覧を複数件表示
git show特定のオブジェクト1件の詳細を表示

一般的な流れは、git log --oneline で対象のコミットハッシュを見つけ、git show <hash> でその詳細を確認する、という組み合わせです。

ヒント

  • コミットハッシュは先頭7文字程度の省略形でも指定できます。
  • HEAD~1 は「1つ前のコミット」、HEAD~2 は「2つ前のコミット」を指します。
  • タグを確認したいときも git show v1.0.0 のように使えます。タグのメッセージとそのタグが指すコミットの差分が両方表示されます。