git show
コミット・タグ・ブロブなどの Git オブジェクトの詳細情報を表示します。特定のコミットの変更内容や、任意の時点のファイル内容を確認するのに使います。
構文
git show [options] <object>... 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 <[email protected]>
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のように使えます。タグのメッセージとそのタグが指すコミットの差分が両方表示されます。