Gitを使った開発で「誰が」「いつ」「何を」変更したのかを確認するために欠かせないのが、git log
コマンドです。
バージョン管理システムGitの中心とも言えるこのコマンドをマスターすることで、過去の変更履歴を正確に把握し、トラブルシューティングやコードレビューもスムーズに進めることができます。
この記事では、基本的な使い方から、よく使われるオプション、便利なカスタマイズ方法までを詳しく紹介します。Git初心者から中級者まで役立つ内容となっていますので、ぜひご活用ください。
git logとは?
git log
は、Gitリポジトリ内のコミット履歴を表示するためのコマンドです。
Gitで管理されたプロジェクトでは、コードの変更履歴がすべてコミットとして記録されています。その記録を一覧表示してくれるのがgit log
です。
このコマンドを使えば、以下のような情報を確認できます。
- コミットID(ハッシュ値)
- 作成者(Author)
- 作成日時(Date)
- コミットメッセージ
開発中に過去の変更内容を確認したり、どのタイミングで不具合が入り込んだのかを調査したりする際に非常に有効です。
基本的な使い方
git log
コマンドを実行するだけで、以下のような情報が表示されます。
git log
出力例:
commit 3a0fd32c9d8338b8f3b7d0b1d7c5c60c1c4a313f
Author: Taro Yamada <taro@example.com>
Date: Mon Apr 1 10:00:00 2025 +0900
Fix typo in README.md
これが1コミット分の情報で、最新のコミットから順に表示されます。
よく使うオプションとその効果
–oneline
1行で簡潔に履歴を確認できます。IDは短縮され、メッセージだけが表示されるため一覧性に優れています。
git log --oneline
出力例:
3a0fd32 Fix typo in README.md
9f4a2c7 Add feature X implementation
–graph
ブランチの分岐やマージの様子を視覚的に表示します。
git log --oneline --graph
出力例(簡略):
* 3a0fd32 Fix typo in README.md
| * 9f4a2c7 Add feature X implementation
|/
* a23c788 Initial commit
-n(表示数の指定)
表示する履歴の件数を制限できます。
git log -3
最新の3件だけを表示したいときに便利です。
–since / –until
特定の期間に絞ってログを表示できます。
git log --since="2025-03-01" --until="2025-03-31"
この例では、2025年3月1日から3月31日までの間のコミットを表示します。
–author
特定の作成者によるコミットだけを表示します。
git log --author="Taro"
名前の一部でもマッチするため、曖昧な検索が可能です。
コミット内容の詳細を見るには?
履歴だけでなく、コミットで実際にどのファイルがどう変更されたかを見たいときは、-p
オプションを使います。
git log -p
出力には、各コミットにおける差分(diff)が表示され、変更された行が一目で分かります。
フォーマットをカスタマイズする
git log
では、表示される内容をカスタマイズすることも可能です。--pretty
オプションを使えば、自分好みの表示に整形できます。
git log --pretty=format:"%h - %an (%ad): %s"
主なプレースホルダー:
%h
: 短いコミットハッシュ%an
: 作成者の名前%ad
: 日付%s
: コミットメッセージ
出力例:
3a0fd32 - Taro Yamada (Mon Apr 1 10:00:00 2025): Fix typo in README.md
読みやすさが大幅に向上するため、日常的に使うのにおすすめです。
ファイル単位でログを確認する
特定のファイルに関する履歴だけを見たい場合は、次のようにファイル名を指定します。
git log README.md
そのファイルに対して行われたすべてのコミット履歴が表示されます。ファイルごとの履歴追跡やデバッグ時に有効です。
GUIツールと組み合わせてより便利に
git log
はコマンドラインで便利に使えますが、視覚的に見たい場合はGUIツールと併用するのも手です。
代表的なツール:
gitk
tig
(CUIベース)- Git GUI(WindowsやmacOSで使える)
たとえば、tig
を使うと以下のように快適に履歴をたどることができます。
tig
コマンド1つで、ログ、ファイル、差分などをカラフルに表示してくれます。
まとめ
git log
はGit操作の中でも特に利用頻度が高く、奥の深いコマンドです。
ただ履歴を表示するだけでなく、条件を指定したり、表示を整形したりすることで、作業効率を大きく上げることができます。
最後に、よく使うオプションをまとめます:
オプション | 内容 |
---|---|
--oneline | 1行で簡潔に表示 |
--graph | ブランチの分岐を視覚的に表示 |
-n | 表示件数を制限 |
--since / --until | 日付範囲で絞り込み |
--author | 作成者でフィルタ |
-p | 差分を表示 |
--pretty=format: | 出力のフォーマットをカスタマイズ |
このように、git log
を使いこなせば、プロジェクトの全体像を把握することができ、より質の高い開発が可能になります。
ぜひ今日から、自分のGit操作に取り入れてみてください。