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コマンドをマスターしてください!
関連記事
- あなたのGitライフを豊かに変える!「git log」コマンド完全攻略への誘いはじめに: あなたのGitライフを加速させる「git log」コマンドの世界へ バージョン管理システムとして広く利用されているGit。その中でも、「git log」コマンドは、プロジェクトの変更履歴を …
- もう迷わない!Git commitを使いこなす完全ガイド【初心者向け】はじめに:Git commitとは? Gitを使っていると、必ずと言っていいほど目にする「commit」という言葉。 「なんか難しそう…」「よくわからないまま使ってる…」と感じている方もいるかもしれま …
- 【初心者必見】Gitコマンド習得への道:基礎から実践まで徹底解説!【Git超入門】初心者も迷わない!基本コマンド徹底解説で、今日からあなたもバージョン管理マスター! Gitは、現代のソフトウェア開発において必要不可欠なバージョン管理システムです。 しかし、初め …
- 【もう失敗しない】バージョン管理超入門 - チーム開発をスムーズにする最強の味方とは?【もう失敗しない】バージョン管理超入門 - チーム開発をスムーズにする最強の味方とは? 皆さんは、複数人で資料を作成する際に、誰がどの部分を編集したのか分からなくなってしまったり、誤って上書きしてしま …
- Gitの「revert」を使いこなす! 間違った変更をなかったことにする方法を徹底解説はじめに:過去のコミットをなかったことに?そんな夢を叶えるGit revert! Gitで開発をしていると、過去のコミットをなかったことにしたい!と思う場面に遭遇するかもしれません。 例えば、 うっか …