Gitを使っていると、「過去にどのような変更をしたのか」「誰がいつコミットしたのか」を確認したい場面があります。
例えば、不具合が発生したときに過去のコミットを確認したり、特定のファイルがいつ変更されたのかを調べたりする場合です。
このようなときに使用できるのが、git logコマンドです。
しかし、git logには多くのオプションがあるため、
git logとは何?- コミット履歴はどうやって確認するの?
- 履歴を1行ずつ表示するには?
- 特定のファイルや期間に絞り込むには?
- ブランチの分岐やマージを見やすくするには?
と疑問に思うこともあるでしょう。
この記事では、git logコマンドの基本的な使い方から、表示形式の変更、コミットの絞り込み、ファイルの変更内容を確認する方法まで、わかりやすく解説します。
git logコマンドとは?
git logとは、Gitリポジトリのコミット履歴を確認するためのコマンドです。
例えば、Gitリポジトリ内で次のコマンドを実行します。
git log
# 実行結果
commit 8a51c31d6a78c91f20d1f9a4f6b18e7b8e123456
Author: Taro Yamada <taro@example.com>
Date: Thu Oct 1 10:30:00 2026 +0900
ユーザー登録機能を追加
commit 27bf1234567890abcdef1234567890abcdef1234
Author: Taro Yamada <taro@example.com>
Date: Wed Sep 30 15:20:00 2026 +0900
ログイン画面を追加git logでは、基本的に新しいコミットから古いコミットの順番で履歴が表示されます。
主な表示内容は次のとおりです。
| 項目 | 内容 |
commit | コミットを識別するコミットID |
Author | コミットの内容を作成した人 |
Date | コミット日時 |
ユーザー登録機能を追加など | コミットメッセージ |
これらの情報を確認することで、「誰が」「いつ」「どのような目的で」変更したのかを追跡できます。
git logの基本構文
git logの基本構文は次のとおりです。
git log [オプション] [コミットやブランチなど] [--] [ファイル・ディレクトリ]単純にコミット履歴を確認するだけであれば、オプションを指定する必要はありません。
git log
# 実行結果
commit 8a51c31d6a78c91f20d1f9a4f6b18e7b8e123456
Author: Taro Yamada <taro@example.com>
Date: Thu Oct 1 10:30:00 2026 +0900
ユーザー登録機能を追加
commit 27bf1234567890abcdef1234567890abcdef1234
Author: Taro Yamada <taro@example.com>
Date: Wed Sep 30 15:20:00 2026 +0900
ログイン画面を追加一方、git logには多くのオプションが用意されており、「1行で表示する」「特定の期間だけ表示する」「変更されたファイルを表示する」といった指定ができます。
よく使うgit logコマンド一覧
git logには、コミット履歴の表示方法を変更したり、表示するコミットを絞り込んだりするためのさまざまなオプションがあります。
ここでは、この記事で紹介する主なgit logコマンドをまとめます。
| コマンド | 内容 |
git log | コミット履歴を表示する |
git log --oneline | 1コミットを1行で表示する |
git log --graph | 履歴をグラフ形式で表示する |
git log --decorate | ブランチ名やタグ名などを表示する |
git log --oneline --graph --decorate | 履歴をコンパクトなグラフ形式で表示する |
git log --stat | ファイルごとの変更量を表示する |
git log --numstat | ファイルごとの追加・削除行数を表示する |
git log --name-only | 変更されたファイル名を表示する |
git log --name-status | 変更されたファイル名と状態を表示する |
git log -p | コミットごとの具体的な差分を表示する |
git log -n 10 | 最新10件を表示する |
git log --since="4 days ago" | 指定日時より新しいコミットを表示する |
git log --until="2026-10-01" | 指定日時より古いコミットを表示する |
git log --author="Taro" | Authorで絞り込む |
git log --committer="Taro" | Committerで絞り込む |
git log --grep="login" | コミットメッセージで絞り込む |
git log -- path/to/file | 特定のファイルに関係する履歴を表示する |
git log --follow -- path/to/file | 名前変更を越えて1ファイルの履歴を追跡する |
git log --merges | マージコミットだけ表示する |
git log --no-merges | マージコミットを除外する |
git log --first-parent | 第1親だけをたどる |
git log --all | すべての参照を対象に履歴を表示する |
git log feature | 指定したブランチからたどれる履歴を表示する |
git log main..feature | featureにあってmainにないコミットを表示する |
では、ここからそれぞれのコマンドやオプションについて、実行結果を確認しながら詳しく見ていきましょう。
git logの表示を見やすくする
git logの通常表示は情報量が多いため、コミットが増えると履歴を確認しにくくなることがあります。
ここでは、コミット履歴を見やすくする代表的なオプションを紹介します。
--onelineで1コミットを1行で表示する
--onelineを指定すると、1つのコミットを1行で簡潔に表示できます。
git log --oneline
# 実行結果
8a51c31 ユーザー登録機能を追加
27bf123 ログイン画面を追加
6cd8912 初期コミット通常のgit logと比べて、コミットIDやAuthor、Dateなどの詳しい情報が省略されるため、履歴全体を素早く確認したい場合に便利です。
表示されている8a51c31などは、完全なコミットIDを短縮したものです。
--graphでブランチの分岐やマージを表示する
--graphを指定すると、コミット履歴の分岐やマージをASCII文字を使ったグラフ形式で表示できます。
git log --graph
# 実行結果
* commit 5f42abc000000000000000000000000000000000
|\ Merge: 27bf123 8a51c31
| | Author: Taro Yamada <taro@example.com>
| | Date: Thu Oct 1 16:00:00 2026 +0900
| |
| | Merge branch 'feature'
| |
| * commit 8a51c31d6a78c91f20d1f9a4f6b18e7b8e123456
| | Author: Taro Yamada <taro@example.com>
| | Date: Thu Oct 1 10:30:00 2026 +0900
| |
| | ユーザー登録機能を追加
| |
| * commit 73ab812000000000000000000000000000000000
|/ Author: Taro Yamada <taro@example.com>
| Date: Thu Oct 1 09:30:00 2026 +0900
|
| バリデーションを追加
|
* commit 27bf1234567890abcdef1234567890abcdef1234
| Author: Taro Yamada <taro@example.com>
| Date: Wed Sep 30 15:20:00 2026 +0900
|
| ログイン画面を追加
|
* commit 6cd8912000000000000000000000000000000000
Author: Taro Yamada <taro@example.com>
Date: Tue Sep 29 09:00:00 2026 +0900
初期コミット特に--onelineと組み合わせると見やすくなります。
git log --oneline --graph
# 実行結果
* 5f42abc Merge branch 'feature'
|\
| * 8a51c31 ユーザー登録機能を追加
| * 73ab812 バリデーションを追加
|/
* 27bf123 ログイン画面を追加
* 6cd8912 初期コミット*や線によって、ブランチがどこから分岐し、どこでマージされたのかを確認できます。
--decorateでブランチ名やタグ名を表示する
--decorateを指定すると、コミットに関連付けられているブランチ名やタグ名などを表示できます。
git log --oneline --decorate
# 実行結果
5f42abc (HEAD -> main) Merge branch 'feature'
8a51c31 (feature) ユーザー登録機能を追加
73ab812 バリデーションを追加
27bf123 ログイン画面を追加
6cd8912 初期コミットこの例では、HEAD -> mainから現在mainブランチを指していることが分かります。
--oneline・--graph・--decorateを組み合わせる
コミット履歴を見やすく確認したい場合は、次のように複数のオプションを組み合わせることができます。
git log --oneline --graph --decorate
# 実行結果
* 5f42abc (HEAD -> main) Merge branch 'feature'
|\
| * 8a51c31 (feature) ユーザー登録機能を追加
| * 73ab812 バリデーションを追加
|/
* 27bf123 ログイン画面を追加
* 6cd8912 初期コミットコミットを1行で表示しながら、ブランチの分岐・マージやブランチ名なども確認できます。
git logで変更内容を確認する
git logでは、コミット履歴だけでなく、それぞれのコミットでどのファイルが変更されたのかを確認することもできます。
--statで変更されたファイルと変更量を表示する
--statを指定すると、それぞれのコミットで変更されたファイルと変更量を確認できます。
git log --stat
# 実行結果
commit 8a51c31d6a78c91f20d1f9a4f6b18e7b8e123456
Author: Taro Yamada <taro@example.com>
Date: Thu Oct 1 10:30:00 2026 +0900
ユーザー登録機能を追加
src/User.ts | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
commit 27bf1234567890abcdef1234567890abcdef1234
Author: Taro Yamada <taro@example.com>
Date: Wed Sep 30 15:20:00 2026 +0900
ログイン画面を追加
src/Login.ts | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)この例では、src/User.tsが変更され、8行追加、2行削除されたことが分かります。
--numstatで追加・削除された行数を表示する
--numstatを指定すると、ファイルごとに追加された行数と削除された行数を数値で表示できます。
git log --numstat
# 実行結果
commit 8a51c31d6a78c91f20d1f9a4f6b18e7b8e123456
Author: Taro Yamada <taro@example.com>
Date: Thu Oct 1 10:30:00 2026 +0900
ユーザー登録機能を追加
8 2 src/User.ts
3 0 src/UserService.ts
commit 27bf1234567890abcdef1234567890abcdef1234
Author: Taro Yamada <taro@example.com>
Date: Wed Sep 30 15:20:00 2026 +0900
ログイン画面を追加
5 1 src/Login.ts左から「追加された行数」「削除された行数」「ファイル名」が表示されます。なお、バイナリファイルでは追加・削除行数の代わりに-が表示されます。
ファイルごとの変更量を数値として確認したい場合に便利です。
--name-onlyで変更されたファイル名を表示する
変更されたファイル名だけを確認したい場合は、--name-onlyを使用できます。
git log --name-only
# 実行結果
commit 8a51c31d6a78c91f20d1f9a4f6b18e7b8e123456
Author: Taro Yamada <taro@example.com>
Date: Thu Oct 1 10:30:00 2026 +0900
ユーザー登録機能を追加
src/User.ts
src/UserService.ts
commit 27bf1234567890abcdef1234567890abcdef1234
Author: Taro Yamada <taro@example.com>
Date: Wed Sep 30 15:20:00 2026 +0900
ログイン画面を追加
src/Login.tsこの例では、8a51c31...のコミットでsrc/User.tsとsrc/UserService.ts、27bf123...のコミットでsrc/Login.tsが変更されたことが分かります。
--name-statusで変更されたファイルと状態を表示する
--name-statusを指定すると、変更されたファイル名に加えて、そのファイルが追加・変更・削除されたのかを確認できます。
git log --name-status
# 実行結果
commit 8a51c31d6a78c91f20d1f9a4f6b18e7b8e123456
Author: Taro Yamada <taro@example.com>
Date: Thu Oct 1 10:30:00 2026 +0900
ユーザー登録機能を追加
M src/User.ts
A src/UserService.ts
D src/OldUser.ts主な状態は次のとおりです。
| 表示 | 意味 |
A | Added:追加 |
M | Modified:変更 |
D | Deleted:削除 |
R | Renamed:名前変更 |
-pで実際の差分を表示する
-pまたは--patchを指定すると、それぞれのコミットで実際にどのような変更が行われたのかを差分形式で確認できます。
例えば、次のような差分が表示されます。
git log -p
# 実行結果
commit 8a51c31d6a78c91f20d1f9a4f6b18e7b8e123456
Author: Taro Yamada <taro@example.com>
Date: Thu Oct 1 10:30:00 2026 +0900
ユーザー名を変更
diff --git a/src/User.ts b/src/User.ts
index 1234567..89abcde 100644
--- a/src/User.ts
+++ b/src/User.ts
@@ -1 +1 @@
-const name = "Taro";
+const name = "Hanako";-は削除された行、+は追加された行を表します。
単に変更されたファイルを知るだけでなく、「コードのどこがどのように変更されたのか」まで確認したい場合に便利です。
git logでコミットを絞り込む
コミット履歴が多い場合、すべての履歴を表示すると目的のコミットを探すのが大変です。
git logでは、件数、日時、Author、コミットメッセージなどの条件で履歴を絞り込めます。
-nで表示するコミット数を指定する
-nを使用すると、表示するコミット数を指定できます。
例えば、最新2件だけを表示する場合は次のように実行します。
git log -n 2
# 実行結果
commit 8a51c31d6a78c91f20d1f9a4f6b18e7b8e123456
Author: Taro Yamada <taro@example.com>
Date: Thu Oct 1 10:30:00 2026 +0900
ユーザー登録機能を追加
commit 27bf1234567890abcdef1234567890abcdef1234
Author: Taro Yamada <taro@example.com>
Date: Wed Sep 30 15:20:00 2026 +0900
ログイン画面を追加--onelineなどと組み合わせることもできます。
git log --oneline -n 2
# 実行結果
8a51c31 ユーザー登録機能を追加
27bf123 ログイン画面を追加また、次のように数値だけを指定する書き方もできます。
git log -2
# 実行結果
commit 8a51c31d6a78c91f20d1f9a4f6b18e7b8e123456
Author: Taro Yamada <taro@example.com>
Date: Thu Oct 1 10:30:00 2026 +0900
ユーザー登録機能を追加
commit 27bf1234567890abcdef1234567890abcdef1234
Author: Taro Yamada <taro@example.com>
Date: Wed Sep 30 15:20:00 2026 +0900
ログイン画面を追加これも最新2件のコミットを表示します。
--since・--untilで期間を指定する
--sinceと--untilを使用すると、日時を条件にコミットを絞り込めます。
例えば、4日前から2026年10月1日までのコミットを確認する場合は、次のように実行できます。
git log --since="2026-09-28 00:00:00" --until="2026-10-01 23:59:59"
# 実行結果
commit 8a51c31d6a78c91f20d1f9a4f6b18e7b8e123456
Author: Taro Yamada <taro@example.com>
Date: Thu Oct 1 10:30:00 2026 +0900
ユーザー登録機能を追加
commit 27bf1234567890abcdef1234567890abcdef1234
Author: Taro Yamada <taro@example.com>
Date: Wed Sep 30 15:20:00 2026 +0900
ログイン画面を追加
commit 6cd8912000000000000000000000000000000000
Author: Taro Yamada <taro@example.com>
Date: Tue Sep 29 09:00:00 2026 +0900
初期コミット--sinceは指定した日時より新しいコミット、--untilは指定した日時より古いコミットを表示するために使用します。
それぞれ、--afterと--beforeという別名もあります。
git log --after="2026-09-01" --before="2026-10-01"
# 実行結果
commit 27bf1234567890abcdef1234567890abcdef1234
Author: Taro Yamada <taro@example.com>
Date: Wed Sep 30 15:20:00 2026 +0900
ログイン画面を追加
commit 6cd8912000000000000000000000000000000000
Author: Taro Yamada <taro@example.com>
Date: Tue Sep 29 09:00:00 2026 +0900
初期コミット日付を指定して「最近変更されたコミットだけ確認したい」といった場合に便利です。
--authorでAuthorを指定する
--authorを使用すると、Authorの名前やメールアドレスに一致するコミットを絞り込めます。
例えば、Author名にTaroを含むコミットを表示する場合は次のように実行します。
git log --author="Taro"
# 実行結果
commit 8a51c31d6a78c91f20d1f9a4f6b18e7b8e123456
Author: Taro Yamada <taro@example.com>
Date: Thu Oct 1 10:30:00 2026 +0900
ユーザー登録機能を追加Gitのコミットには「Author」と「Committer」という情報があります。
簡単にいうと、Authorは変更内容を作成した人、CommitterはそのコミットをGitの履歴へ記録した人を表します。
通常の開発では同じ人物になることも多いですが、リベースやパッチの適用などによって異なる場合があります。
Committerを条件にしたい場合は、--committerを使用します。
git log --committer="Taro"
# 実行結果
commit 8a51c31d6a78c91f20d1f9a4f6b18e7b8e123456
Author: Taro Yamada <taro@example.com>
Date: Thu Oct 1 10:30:00 2026 +0900
ユーザー登録機能を追加--grepでコミットメッセージを検索する
--grepを使用すると、コミットメッセージから目的のコミットを検索できます。
例えば、コミットメッセージにtypoを含むコミットを確認する場合は次のように実行します。
git log --grep="typo"
# 実行結果
commit 73ab812000000000000000000000000000000000
Author: Taro Yamada <taro@example.com>
Date: Thu Oct 1 09:30:00 2026 +0900
typoを修正「バグ修正に関係するコミットを探したい」「特定の機能名が書かれたコミットを探したい」といった場合に便利です。
例えば、loginを含むコミットを検索する場合は次のように指定できます。
git log --grep="login"
# 実行結果
commit 27bf1234567890abcdef1234567890abcdef1234
Author: Taro Yamada <taro@example.com>
Date: Wed Sep 30 15:20:00 2026 +0900
login処理を修正大文字・小文字を区別せず検索したい場合は、-iを組み合わせることもできます。
git log -i --grep="login"
# 実行結果
commit 27bf1234567890abcdef1234567890abcdef1234
Author: Taro Yamada <taro@example.com>
Date: Wed Sep 30 15:20:00 2026 +0900
LOGIN処理を修正特定のファイルやディレクトリの履歴を確認する
git logの後ろにファイルやディレクトリを指定すると、そのパスに関係するコミットだけを確認できます。
特定のファイルの履歴を確認する
例えば、src/User.tsに関係するコミットだけを確認する場合は次のように実行します。
git log -- src/User.ts
# 実行結果
commit 8a51c31d6a78c91f20d1f9a4f6b18e7b8e123456
Author: Taro Yamada <taro@example.com>
Date: Thu Oct 1 10:30:00 2026 +0900
ユーザー登録機能を追加--は、ここから後ろがファイルやディレクトリなどのパスであることをGitに明示するために使用します。
特定の種類のファイルを対象にする
パスのパターンを指定して対象を絞り込むこともできます。
例えば、scriptsディレクトリ内の.shファイルを対象にする場合は次のように指定できます。
git log -- 'scripts/*.sh'
# 実行結果
commit 73ab812000000000000000000000000000000000
Author: Taro Yamada <taro@example.com>
Date: Thu Oct 1 09:30:00 2026 +0900
デプロイスクリプトを追加シェルによって先にワイルドカードが展開されることを避けたい場合は、このようにパターンを引用符で囲むと分かりやすいでしょう。
--followで名前変更前の履歴も追跡する
ファイルの名前が途中で変更されている場合は、--followを使用できます。
git log --follow -- src/User.ts
# 実行結果
commit 8a51c31d6a78c91f20d1f9a4f6b18e7b8e123456
Author: Taro Yamada <taro@example.com>
Date: Thu Oct 1 10:30:00 2026 +0900
User.tsへファイル名を変更
commit 73ab812000000000000000000000000000000000
Author: Taro Yamada <taro@example.com>
Date: Thu Oct 1 09:30:00 2026 +0900
OldUser.tsを追加--followを指定すると、Gitが検出できる範囲でファイル名の変更を越えて履歴を追跡できます。
なお、--followは1つのファイルを対象として使用します。
マージコミットを絞り込む
ブランチを使った開発では、通常のコミットだけでなくマージコミットも履歴に含まれることがあります。
git logでは、マージコミットだけを表示したり、逆に除外したりできます。
--mergesでマージコミットだけ表示する
マージコミットだけを確認したい場合は、--mergesを使用します。
git log --merges
# 実行結果
commit 5f42abc000000000000000000000000000000000
Merge: 27bf123 8a51c31
Author: Taro Yamada <taro@example.com>
Date: Thu Oct 1 16:00:00 2026 +0900
Merge branch 'feature'例えば、「いつブランチがマージされたのか」を確認したい場合に便利です。
--no-mergesでマージコミットを除外する
反対に、マージコミットを除外して通常のコミットだけを表示したい場合は、--no-mergesを使用します。
git log --no-merges
# 実行結果
commit 8a51c31d6a78c91f20d1f9a4f6b18e7b8e123456
Author: Taro Yamada <taro@example.com>
Date: Thu Oct 1 10:30:00 2026 +0900
ユーザー登録機能を追加
commit 73ab812000000000000000000000000000000000
Author: Taro Yamada <taro@example.com>
Date: Thu Oct 1 09:30:00 2026 +0900
バリデーションを追加この例では、マージコミットは表示されず、通常のコミットだけが表示されています。
--first-parentでマージ元の細かい履歴をたどらない
--first-parentを指定すると、マージコミットに到達したときに第1親だけをたどります。
git log --first-parent
# 実行結果
commit 5f42abc000000000000000000000000000000000
Merge: 27bf123 8a51c31
Author: Taro Yamada <taro@example.com>
Date: Thu Oct 1 16:00:00 2026 +0900
Merge branch 'feature'
commit 27bf1234567890abcdef1234567890abcdef1234
Author: Taro Yamada <taro@example.com>
Date: Wed Sep 30 15:20:00 2026 +0900
ログイン画面を追加
commit 6cd8912000000000000000000000000000000000
Author: Taro Yamada <taro@example.com>
Date: Tue Sep 29 09:00:00 2026 +0900
初期コミット例えば、mainブランチへ複数のfeatureブランチをマージしている場合、featureブランチ内部の細かなコミットをすべて追うのではなく、main側から見た大きな履歴を確認しやすくなります。
--onelineと組み合わせると、より確認しやすくなります。
git log --oneline --first-parent
# 実行結果
5f42abc Merge branch 'feature'
27bf123 ログイン画面を追加
6cd8912 初期コミット--allですべての参照からコミット履歴を確認する
通常のgit logは、基本的に現在のHEADからたどれるコミットを表示します。
他のブランチやタグ、リモート追跡ブランチなど、refs/以下の参照を含めて履歴を確認したい場合は、--allを使用できます。
git log --all
# 実行結果
commit 5f42abc000000000000000000000000000000000
Merge: 27bf123 8a51c31
Author: Taro Yamada <taro@example.com>
Date: Thu Oct 1 16:00:00 2026 +0900
Merge branch 'feature'
commit 8a51c31d6a78c91f20d1f9a4f6b18e7b8e123456
Author: Taro Yamada <taro@example.com>
Date: Thu Oct 1 10:30:00 2026 +0900
ユーザー登録機能を追加
commit 73ab812000000000000000000000000000000000
Author: Taro Yamada <taro@example.com>
Date: Thu Oct 1 09:30:00 2026 +0900
バリデーションを追加
commit 27bf1234567890abcdef1234567890abcdef1234
Author: Taro Yamada <taro@example.com>
Date: Wed Sep 30 15:20:00 2026 +0900
ログイン画面を追加特に--graph、--oneline、--decorateと組み合わせると便利です。
git log --all --graph --oneline --decorate
# 実行結果
* 5f42abc (HEAD -> main) Merge branch 'feature'
|\
| * 8a51c31 (feature) ユーザー登録機能を追加
| * 73ab812 バリデーションを追加
|/
* 27bf123 ログイン画面を追加
* 6cd8912 初期コミットこれにより、複数のブランチを含むコミット履歴をグラフ形式で確認できます。
特定のブランチのコミット履歴を確認する
git logの後ろにブランチ名を指定すると、そのブランチからたどれるコミット履歴を確認できます。
例えば、featureブランチの履歴を確認する場合は次のように実行します。
git log feature
# 実行結果
commit 8a51c31d6a78c91f20d1f9a4f6b18e7b8e123456
Author: Taro Yamada <taro@example.com>
Date: Thu Oct 1 10:30:00 2026 +0900
ユーザー登録機能を追加
commit 73ab812000000000000000000000000000000000
Author: Taro Yamada <taro@example.com>
Date: Thu Oct 1 09:30:00 2026 +0900
バリデーションを追加
commit 27bf1234567890abcdef1234567890abcdef1234
Author: Taro Yamada <taro@example.com>
Date: Wed Sep 30 15:20:00 2026 +0900
ログイン画面を追加現在そのブランチへ切り替える必要はありません。
リモート追跡ブランチを指定することもできます。
git log origin/main
# 実行結果
commit 5f42abc000000000000000000000000000000000
Merge: 27bf123 8a51c31
Author: Taro Yamada <taro@example.com>
Date: Thu Oct 1 16:00:00 2026 +0900
Merge branch 'feature'
commit 27bf1234567890abcdef1234567890abcdef1234
Author: Taro Yamada <taro@example.com>
Date: Wed Sep 30 15:20:00 2026 +0900
ログイン画面を追加この例では、リモート追跡ブランチorigin/mainからたどれるコミット履歴が表示されています。
2つのブランチの差分となるコミットを確認する
git logでは、コミットやブランチの範囲を指定することもできます。
例えば、次のように指定します。
git log main..feature
# 実行結果
commit 8a51c31d6a78c91f20d1f9a4f6b18e7b8e123456
Author: Taro Yamada <taro@example.com>
Date: Thu Oct 1 10:30:00 2026 +0900
ユーザー登録機能を追加
commit 73ab812000000000000000000000000000000000
Author: Taro Yamada <taro@example.com>
Date: Thu Oct 1 09:30:00 2026 +0900
バリデーションを追加この場合、featureからたどれるコミットのうち、mainからはたどれないコミットが表示されます。
つまり、「featureにあってmainにはないコミット」を確認したい場合などに利用できます。
--onelineと組み合わせると分かりやすくなります。
git log --oneline main..feature
# 実行結果
8a51c31 ユーザー登録機能を追加
73ab812 バリデーションを追加ブランチをマージする前に、そのブランチで追加されたコミットを確認したい場合などに便利です。
git logの表示形式をカスタマイズする
git logでは、--prettyや--formatを使用して表示する情報をカスタマイズできます。
例えば、次のコマンドを実行します。
git log --pretty=format:"%h %an %ad %s" --date=short
# 実行結果
8a51c31 Taro Yamada 2026-10-01 ユーザー登録機能を追加
27bf123 Taro Yamada 2026-09-30 ログイン画面を追加この例で使用している主なプレースホルダーは次のとおりです。
| プレースホルダー | 内容 |
%H | 完全なコミットID |
%h | 短縮されたコミットID |
%an | Author名 |
%ae | Authorのメールアドレス |
%ad | Author Date |
%s | コミットメッセージの件名 |
%d | ブランチ名やタグ名などの参照名 |
表示形式を固定したい場合は、Gitのaliasと組み合わせる方法もあります。
本記事のまとめ
この記事では「git logコマンド」について、以下の内容を説明しました。
git logはGitのコミット履歴を確認するためのコマンド--onelineや--graph、--decorateを使うと履歴を見やすくできる--stat、--numstat、--name-status、-pなどで変更内容を確認できる- 日時、Author、コミットメッセージ、ファイルなどを条件に履歴を絞り込める
--merges、--no-merges、--first-parentなどでマージに関する履歴を整理できる--allやブランチ名、main..featureなどを指定して確認する履歴の範囲を変更できる
git logには多くのオプションがありますが、すべてを一度に覚える必要はありません。まずはgit log --onelineで履歴を簡潔に確認し、必要に応じて--graphや--stat、-pなどを組み合わせるとよいでしょう。
お読みいただきありがとうございました。