Git Log: フォーマット指定とフィルタリング
git log のカスタムフォーマット、グラフ表示、強力なフィルタリング機能を使いこなす方法を解説。リポジトリ履歴から目的のコミットを素早く見つけられます。
git log --oneline --graph --decorate --all詳細な説明
git log は何をするのか?
git log はリポジトリのコミット履歴を表示します。適切なフラグを使えば、Git で最も強力な調査ツールの一つになります。
よく使うフォーマット
# グラフ付きのコンパクトな1行表示
git log --oneline --graph --decorate --all
# カスタムフォーマット
git log --pretty=format:"%h %an %ar %s"
# 統計情報付きの詳細表示
git log --stat
フォーマットプレースホルダー
| プレースホルダー | 意味 |
|---|---|
%h |
短縮コミットハッシュ |
%H |
完全なコミットハッシュ |
%an |
著者名 |
%ae |
著者メールアドレス |
%ar |
著者の日付(相対表記) |
%s |
件名(メッセージの最初の行) |
%b |
コミットメッセージの本文 |
コミットのフィルタリング
# 著者で絞り込む
git log --author="Jane"
# 日付範囲で絞り込む
git log --after="2025-01-01" --before="2025-06-01"
# ファイルで絞り込む
git log -- src/components/Header.tsx
# コミットメッセージのキーワードで絞り込む
git log --grep="fix login"
# 各コミットの変更内容を表示する
git log -p
グラフ表示
--graph フラグはブランチのトポロジーを ASCII アートで描画します。--all と組み合わせると、現在のブランチだけでなくすべてのブランチが表示されます:
git log --oneline --graph --all
エイリアス
多くの開発者がよく使うフォーマット用のショートカットを作成します:
git config --global alias.lg "log --oneline --graph --decorate --all"
以降は git lg だけで実行できます。git log を理解することで、プロジェクトのナビゲーション方法が一変します。コミット履歴が、すべての変更を検索・視覚化できる物語に変わります。
ユースケース
開発者が過去1ヶ月間に認証モジュールに変更を加えた特定の著者のコミットをすべて見つけて、コードレビューのサマリーを準備する場面で使用します。