ログラミングや開発の現場で頻繁に使われるGit。中でも、ファイルの変更内容を確認するために欠かせないのが「git diff」コマンドです。
このコマンドを使えば、何がどこでどう変わったのかを簡単に把握でき、コードレビューやバグ修正の手助けになります。
本記事では、git diffコマンドの基本的な使い方から、具体的なオプション、そして実践的な活用例までをわかりやすく解説します。Git初心者の方から中級者まで、知っておくと便利な知識を網羅していますので、ぜひ参考にしてください。
「git diff」とは、Gitにおける差分確認用のコマンドです。
変更されたファイルのうち、どの行がどう変わったのかを確認することができます。
通常は、まだステージ(インデックス)に追加していないファイルの変更差分を表示しますが、指定次第でコミット間の比較なども可能です。
Gitはバージョン管理システムなので、過去と現在の状態を比較できるのは大きな強みです。その比較を視覚的に確認できるのが、まさにこのgit diffです。
最も基本的な形式は、以下の通りです。
git diff
このコマンドは、ワーキングディレクトリとインデックス(ステージ)との差分を表示します。
つまり、git add
する前の「作業中の変更」を確認するためのコマンドです。
git diff
結果として、変更されたファイル名、そしてどの行が追加・削除されたかが表示されます。追加された行は +
、削除された行は -
で示されます。
次に、ステージ(git add
済み)の変更を確認したいときは、次のように入力します。
git diff --cached
または、以下でも同じ意味です:
git diff --staged
これにより、インデックスと最新のコミットとの差分が表示されます。
コミットする前にレビューしたい時に非常に便利です。
変更点を確認したいファイルが限定されている場合は、ファイル名を指定できます。
git diff ファイル名
git diff index.html
これにより、index.html
に加えた変更内容だけを表示できます。
過去のコミット同士の差分を見たいときには、以下のように指定します。
git diff コミット1 コミット2
git diff abc123 def456
これは、abc123
とdef456
の2つのコミット間でどのような変更があったかを表示します。
コミットIDの短縮形式でもOKです。
開発では、異なるブランチ間の差分を確認したいケースも多いです。
そんな時は、以下のようにブランチ名を指定します。
git diff ブランチA..ブランチB
git diff main..feature/new-ui
このコマンドは、main
とfeature/new-ui
ブランチの違いを表示します。
プルリクエスト前に確認する時などによく使われます。
git diffには表示を見やすくするオプションも多数あります。
git diff --word-diff
git diff --color
差分表示には、変更前後の数行が表示されます。これを調整するには次のようにします。
git diff -U5
この例では、5行のコンテキスト(前後のコード)を表示します。
ターミナルでの確認がつらいという方は、GUIの差分ツールと連携させることもできます。
git difftool -t meld
git difftool
を使うことで、普段使っているエディタや外部ツールで変更点を確認することが可能になります。
git diff --cached
でステージ済みの変更を確認することで、不要な変更をコミットするのを防げます。git diff
で比較することで、原因箇所を特定しやすくなります。「git diff」コマンドは、変更点を瞬時に可視化できる非常に便利なツールです。
基本の使い方から、ステージ済みの確認、ブランチ間の比較まで、開発のあらゆる場面で役立ちます。
覚えることが多そうに見えますが、よく使うコマンドは限られています。
まずは基本形のgit diff
とgit diff --cached
から使ってみて、徐々に応用的な使い方を覚えていくのがおすすめです。
Gitの理解が深まると、開発効率も格段にアップします。
この記事を参考に、ぜひ「git diff」を日々の作業に取り入れてみてください。