
開発を進めていると、「前のコミットから何が変わったか」「どのファイルに手を入れたか」をサッと確認したい場面がよくあります。今回は、**直近2つのコミット間の差分(HEAD~2からHEADまで)**を、用途別に確認する方法をまとめました。
1. まずはコミット履歴を確認する(基準の特定)
差分を見る前に、まずは現在の状況(コミットハッシュやメッセージ)を確認しましょう。
PowerShell
# 直近3件を1行ずつ表示
git log -3 --oneline --decorate
これで「どこからどこまでの差分を見たいか」の基準が明確になります。
2. 2コミット分の差分をまとめて確認する
「過去2回分のコミットで何が起きたか」を一気に把握するためのコマンドです。用途に合わせて3つの詳細度を使い分けましょう。
① 変更されたファイル一覧だけ見たい
どのファイルが追加(A)、修正(M)、削除(D)されたかを確認します。
PowerShell
git diff --name-status HEAD~2..HEAD
② 統計(何行増減したか)を見たい
どのファイルに大幅な変更が入ったかをボリューム感で把握します。
PowerShell
git diff --stat HEAD~2..HEAD
③ 実際のコード差分(パッチ)を見たい
具体的な変更内容(ソースコードの±)をすべて表示します。
PowerShell
git diff HEAD~2..HEAD
3. コミット単位で中身を深掘りする
範囲ではなく、「そのコミット単体で何をしたか」を確認したい場合は git show が便利です。
直近(1個前)のコミット内容
PowerShell
git show --stat HEAD # 統計を表示
git show HEAD # 差分本文を表示
2個前のコミット内容
PowerShell
git show --stat HEAD~1
git show HEAD~1
4. 特定のファイルに絞って差分を見る
プロジェクト全体の差分が大きすぎる場合は、特定のファイルやディレクトリに絞り込んで確認しましょう。
PowerShell
# 構文: git diff [範囲] -- [ファイルパス]
git diff HEAD~2..HEAD -- user_payment/views.py
git diff HEAD~2..HEAD -- config/settings.py
git diff HEAD~2..HEAD -- docker-compose.yml
まとめ:よく使う比較表
| 確認したい内容 | 使用するコマンド |
| ファイル名とステータスのみ | git diff --name-status HEAD~2..HEAD |
| 変更行数のサマリー | git diff --stat HEAD~2..HEAD |
| コードの具体的な変更点 | git diff HEAD~2..HEAD |
| 特定ファイルのみ | git diff HEAD~2..HEAD -- [path] |
これらのコマンドを使い分けることで、コードレビューやデバッグの効率が格段に上がります。ぜひターミナルの履歴やエイリアスに登録して活用してみてください。