Git diffコマンド完全ガイド|変更内容の比較方法とシチュエーション別の使い分けを徹底解説

2026年7月1日水曜日

git プログラミング

t f B! P L

Git diffコマンド完全ガイド|シチュエーション別の使い分けで確認作業を効率化

Gitで開発をしていると、 「どこを変更したんだっけ?」 「コミットする前に差分を確認したい」 「ブランチ同士で何が違うの?」 という場面は毎日のようにあります。

そんなときに活躍するのがgit diffコマンドです。

私も旅行先でノートPCを開いて開発していると、ホテルやカフェで少しずつコードを書くことが多くあります。数時間後に見返すと「この変更は何のためだった?」となることも少なくありません。そんな時にgit diffで変更点を確認すると、まるで旅の写真を見返すように作業内容を思い出せます。

この記事では、Git diffコマンドの基本から実践的な使い分けまでを初心者にもわかりやすく解説します。


Git diffとは?

git diffは、ファイルの変更内容(差分)を比較するためのGitコマンドです。

比較対象を自由に変更できるため、次のような場面で活躍します。

  • コミット前に変更内容を確認する
  • ステージング漏れを確認する
  • ブランチ同士の違いを確認する
  • コミット同士の変更点を比較する
  • レビュー前の最終チェックを行う

Gitを使うなら必ず覚えておきたい基本コマンドのひとつです。


シチュエーション別Git diffコマンド一覧

目的 コマンド
作業ディレクトリ全体の変更確認 git diff
ステージング済みの変更確認 git diff --cached
特定ファイルのみ比較 git diff ファイル名
ブランチ同士を比較 git diff ブランチ1 ブランチ2
コミット同士を比較 git diff コミット1 コミット2
最新コミットとの差分確認 git diff HEAD
ディレクトリ単位で比較 git diff ディレクトリ名

作業ディレクトリ全体の変更を確認する

git diff

git diff

まだステージングしていない変更内容を表示します。

コードを書いたあとに「コミットしても問題ないかな?」と確認したい時に最も使用頻度が高いコマンドです。

こんな時におすすめ

  • 編集した内容を見直したい
  • 不要な変更が混ざっていないか確認したい
  • レビュー前のセルフチェック

ステージングエリアの変更を確認する

git diff --cached

git diff --cached

ステージング済みの内容と最新コミットとの差分を表示します。

「git addした内容だけ確認したい」という時に便利です。


特定ファイルだけ比較する

git diff ファイル名

git diff index.html

大規模プロジェクトでは変更ファイルが大量になることがあります。

そんな時は対象ファイルだけ確認すると効率よく作業できます。


ブランチ間の変更を比較する

git diff ブランチ1 ブランチ2

git diff develop feature/login

ブランチごとの差分を確認できます。

Pull Requestを作成する前や、マージ前の確認で非常によく使われます。


コミット同士を比較する

git diff コミット1 コミット2

git diff a123456 b789012

過去のコミット同士を比較できます。

「いつこのコードが変わったのか」を調査するときに便利です。


最新コミットとの差分を確認する

git diff HEAD

git diff HEAD

現在の作業内容と最新コミットとの差分を表示します。

コミット前の最終確認として使う開発者も多いコマンドです。


ディレクトリ単位で比較する

git diff ディレクトリ名

git diff src/

指定したディレクトリ配下だけを比較できます。

フロントエンドだけ、バックエンドだけなど、範囲を限定して確認したい場合に便利です。


Git diffの便利なオプション

ブランチ比較ではオプションを組み合わせることで、より効率よく変更内容を把握できます。


--stat

git diff --stat ブランチ1 ブランチ2

変更されたファイル数や追加・削除された行数などの統計情報を表示します。

表示例

 index.html | 10 +++++----- main.js    | 15 +++++++++++---- style.css  |  5 +++-- 

おすすめの使い方

  • 変更規模を素早く把握したい
  • レビュー前に確認したい
  • マージ前の影響範囲を確認したい

--name-only

git diff --name-only ブランチ1 ブランチ2

変更されたファイル名だけを一覧表示します。

差分の詳細ではなく、どのファイルが変更されたかだけ確認したい時に便利です。


--name-status

git diff --name-status ブランチ1 ブランチ2

変更ファイル名と変更内容を同時に表示します。

表示例

 M index.html A login.js D old.css R config.js 
記号 意味
M Modified(修正)
A Added(追加)
D Deleted(削除)
C Copied(コピー)
R Renamed(リネーム)
U Updated(未マージ・競合状態)

変更内容を一覧で確認できるため、レビュー前には非常に便利です。


3つ以上のブランチを比較する

git diff --name-status ブランチ1 ブランチ2 ブランチ3

複数のブランチを比較したいケースでも利用できます。

ただし、実際の開発現場では比較対象を2つに絞ることが一般的です。複数ブランチの差分を確認したい場合は、比較方法や意図を整理してから実行すると、結果を理解しやすくなります。


Git diffを使いこなすポイント

  • 作業中は「git diff」でこまめに確認する
  • コミット前は「git diff --cached」で最終確認する
  • レビュー前は「--stat」で変更規模を把握する
  • 変更ファイルだけ知りたいなら「--name-only」
  • 変更内容も一覧で見たいなら「--name-status」
  • ブランチ比較はPull Request前の確認に最適

まとめ

Git diffは、単純にコードの違いを見るだけではなく、開発の品質を高めるための重要な確認ツールです。

毎回コミット前に差分を確認する習慣をつけるだけでも、不要な変更やコミットミスを大きく減らせます。

最初は「git diff」だけでも十分ですが、慣れてきたら「--stat」「--name-only」「--name-status」も使い分けることで、確認作業の効率が大幅に向上します。

ぜひ今回紹介したコマンドを日々の開発に取り入れ、より安全で効率的なGit運用を目指してみてください。

このブログを検索

Welcome



旅するWebライター「Hide」のブログへようこそ!

2年間の世界一周を終え、今は旅の思い出を言葉にしながら、AIやプログラミングという新しい冒険を楽しんでいます。最新技術を味方につけて、もっと自由でクリエイティブな発信を続けていきます!

人気の投稿

QooQ