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ヶ月間に認証モジュールに変更を加えた特定の著者のコミットをすべて見つけて、コードレビューのサマリーを準備する場面で使用します。

Try It — Git Command Builder

フルツールを開く