もう迷わない!Git diffコマンドを使いこなして変更履歴を徹底解剖

Git diffコマンドとは? ファイルの変更点を一目で把握!

Gitを使っていると、「あれ? このファイル、前回からどこを修正したんだっけ?」となること、ありますよね。 そんな時頼りになるのが、 Git diffコマンド です。

Git diffコマンドは、ファイルの変更履歴を分かりやすく表示してくれる 便利なコマンドです。 具体的には、以下の様な時に役立ちます。

  • ローカルリポジトリでの変更内容を確認したい時
  • コミット間の変更内容を確認したい時
  • ブランチ間の変更内容を確認したい時

つまり、Git diffコマンドを使いこなせるようになれば、 ファイルの変更履歴を自由自在に確認できるようになり、開発効率が大幅に向上する のです!

Git diffコマンドの基本的な使い方:変更内容を詳細に表示

Git diffコマンドの基本的な構文は以下の通りです。

git diff [オプション] [<コミット1>] [<コミット2>] <パス>
  • オプション:出力形式などを指定
  • コミット1:比較元となるコミット (省略可)
  • コミット2:比較先となるコミット (省略可)
  • パス:変更内容を確認したいファイルやディレクトリのパス (省略可)

コミットを指定しない場合

コミットを指定しない場合は、「作業ディレクトリとステージングエリアの差分」が表示されます。 つまり、まだステージングしていない、直近で加えた変更内容を確認できます。

git diff

コミットを指定する場合

特定のコミット間の変更内容を比較したい場合は、比較元と比較先のコミットを指定します。 例えば、「HEAD~1」と「HEAD」を指定すると、「1つ前のコミットと現在のコミットの差分」が表示されます。

git diff HEAD~1 HEAD

見やすく diff を表示するオプション:色分けや変更箇所へのジャンプも

Git diffコマンドは、オプションを指定することで、より見やすく、より便利に使うことができます。

-p オプション (–patch)

変更箇所をパッチ形式で表示します。 パッチ形式とは、変更箇所を「追加」「削除」「変更」などに分類して表示する形式で、変更内容を把握しやすくなります。

git diff -p

–color-words オプション

変更箇所を単語単位で色分け表示します。 これにより、どこがどのように変更されたのかが一目瞭然となります。

git diff --color-words

-u オプション (–unified)

変更箇所の前後数行をコンテキストとして表示します。 変更箇所の前後の文脈がわかるため、より理解しやすくなります。

git diff -u

シナリオ別!Git diffコマンド活用術:様々な場面で変更履歴を確認

シナリオ1: 特定のファイルの変更履歴を確認したい

git diff <ブランチ名> <ファイルパス> 

特定のファイルの変更履歴を確認したい場合は、上記のようにブランチ名とファイルパスを指定します。

例:mainブランチとfeatureブランチの「index.html」の差分を確認する場合

git diff main feature index.html

シナリオ2: 特定のコミット範囲の変更履歴を確認したい

git diff <コミットID1>..<コミットID2>

特定のコミット間の変更履歴を確認したい場合は、上記のようにコミットIDを指定します。

例:コミットID「abcdefg」とコミットID「1234567」の間の差分を確認する場合

git diff abcdefg..1234567

まとめ: Git diffコマンドをマスターして、変更履歴を徹底管理!

この記事では、Git diffコマンドの基本的な使い方から、応用的な使い方までご説明しました。 diffコマンドを使いこなすことで、ファイルの変更履歴を簡単に確認できるようになり、開発効率が格段に向上します。

ぜひ、この記事で紹介した内容を参考に、Git diffコマンドをマスターしてください!

関連記事