Git差分確認の基本!変更内容を見える化する方法

git icon
Git

こんにちは、とまだです。

みなさん、コードを書いていて「あれ?さっきどこを変えたんだっけ?」と思ったことはありませんか?

私もよく、複数のファイルを同時に修正していると、どこを変更したか分からなくなることがあります。 そんなときに頼りになるのが、Gitの差分確認機能です。

今回は、Gitで変更内容を確認する方法について、初心者でも理解できるように解説していきます。 この記事を読めば、自分の変更内容を正確に把握できるようになりますよ。

差分確認とは?

差分確認は、簡単に言うと「変更前」と「変更後」の違いを見つけることです。

たとえば、料理のレシピを書き換えたとしましょう。 「砂糖大さじ1」を「砂糖大さじ2」に変更したとき。 差分確認をすると、この変更箇所がハッキリと分かります。

Gitでは、この仕組みを使って、コードの変更点を視覚的に確認できるのです。 削除された行は赤色で、追加された行は緑色で表示されます。 まるで間違い探しのように、変更箇所が一目瞭然になります。

なぜ差分確認が必要なのか

差分確認ができないと、開発現場では様々な問題が起きます。

まず、バグの原因が分からなくなります。 「昨日まで動いていたのに、今日は動かない」 こんなとき、何を変更したか分からないと、原因探しに時間がかかってしまいます。

次に、チームメンバーとの連携が難しくなります。 「この部分、誰がどう変更したの?」 変更内容が不明確だと、コミュニケーションに余計な時間がかかります。

さらに、間違った変更を見逃してしまうかもしれません。 うっかり重要な部分を削除していても、気づかないままコミットしてしまう。 これは本当に怖いことです。

だからこそ、差分確認は開発において欠かせない作業なのです。

基本的な差分確認コマンド

Gitで差分を確認する基本的なコマンドを見ていきましょう。

git diff - 作業中の変更を確認

最も基本的なコマンドが git diff です。

まだ保存していない変更内容を確認します。

git diff

このコマンドを実行すると、現在の作業内容が表示されます。

たとえば、書きかけの手紙があるとしましょう。 下書きと清書版を比べるような感覚です。 どこを書き足したか、どこを消したかが分かります。

git diff --cached - ステージング済みの変更を確認

すでにステージング(コミット準備)した変更を見たいときは、このコマンドを使います。

git diff --cached

ステージングエリアにある変更内容が表示されます。

これは、郵便ポストに入れる前の手紙の最終確認のようなものです。 「本当にこの内容で送っていいかな?」と確認できます。

git show - 特定のコミットの内容を確認

過去のコミット内容を確認したいときは git show を使います。

git show コミットID

指定したコミットの詳細が表示されます。

日記の特定の日付のページを開くようなイメージです。 「あの日、何を書いたっけ?」を確認できます。

実践的な使い方

では、実際の開発でよく使うパターンを見ていきましょう。

変更したファイルの一覧を見る

変更ファイルの概要だけを知りたいときは、統計情報を表示します。

git diff --stat

どのファイルが何行変更されたかが分かります。

本棚を整理したときの「移動した本のリスト」のようなものです。 詳細を見る前に、全体像を把握できます。

特定のファイルだけ確認する

特定のファイルの差分だけを見たいときは、ファイル名を指定します。

git diff ファイル名

指定したファイルの変更内容だけが表示されます。

図書館で特定の本だけを探すように、必要な情報だけを取り出せます。

ブランチ間の差分を確認する

異なるブランチの差分を確認することもできます。

git diff ブランチA ブランチB

2つのブランチの違いが表示されます。

これは、2つの料理レシピを比べるようなものです。 「基本レシピ」と「アレンジレシピ」の違いが分かります。

リモートとの差分確認

チーム開発では、リモートリポジトリとの差分確認が重要です。

リモートの最新状態と比較する

自分の作業内容とリモートの差分を確認します。

git diff origin/main

リモートのmainブランチとの違いが表示されます。

これは、自分の答案と模範解答を比べるようなものです。 どこが違うのか、何が足りないのかが分かります。

プッシュする前に必ず確認しましょう。 予期しない変更が含まれていないか、チェックできます。

フェッチ後の差分確認

リモートの最新情報を取得してから差分を確認する方法もあります。

git fetch
git diff HEAD origin/main

最新のリモート状態と比較できます。

郵便受けから手紙を取ってきて、自分の返事と見比べる感じです。 相手の最新の内容を踏まえて、自分の作業を確認できます。

トラブル時の差分活用法

問題が起きたときこそ、差分確認が力を発揮します。

コンフリクト解消時の確認

マージ時にコンフリクトが起きたら、差分を確認しながら解決します。

交差点で2台の車がぶつかりそうになったとき。 どちらがどう動いたか確認して、安全に通れる道を探す。 そんなイメージです。

コンフリクトファイルの差分を見ながら、正しい内容を選びます。 慌てずに、一つずつ確認していけば大丈夫です。

バグの原因調査

「いつからバグが発生したか」を調べるときも差分が役立ちます。

体調不良の原因を探るとき、食事の記録を振り返るように。 どのコミットから問題が始まったか、差分を追って特定できます。

疑わしいコミット間の差分を確認していけば、原因にたどり着けます。

差分確認のコツ

効率的に差分を確認するためのコツをお伝えします。

見やすくする工夫

差分が多いときは、オプションを使って見やすくしましょう。

以下のような工夫ができます。

  • 空白の違いを無視する: git diff -w
  • 変更行の前後を少なく表示: git diff -U1
  • 単語単位で差分表示: git diff --word-diff

長い文章を読むとき、重要な部分にマーカーを引くように。 必要な情報だけに集中できます。

外部ツールの活用

コマンドラインが苦手な方は、GUIツールを使うのも良い方法です。

VSCodeやSourceTreeなど、視覚的に差分を確認できるツールがあります。 左右に並べて比較できるので、直感的に理解しやすいです。

美術館で2つの絵画を並べて鑑賞するように。 違いが視覚的に分かりやすくなります。

よくある質問と回答

差分確認についてよく聞かれる質問にお答えします。

Q: 差分が表示されないのはなぜ?

A: 変更がない、またはすでにコミット済みの可能性があります。 git status で現在の状態を確認してみてください。

Q: 差分の色を変更できる?

A: はい、Gitの設定で色をカスタマイズできます。 見やすい色に変更すると、作業効率が上がります。

Q: 大量の差分を効率的に確認するには?

A: git diff --stat で概要を把握してから、重要なファイルだけを個別に確認する方法がおすすめです。

まとめ

Gitの差分確認は、開発における「変更の見える化」です。

料理で味見をするように、コードの変更も確認が大切。 小まめに差分を確認することで、ミスを防ぎ、品質を保てます。

基本的なコマンドから始めて、徐々に活用の幅を広げていきましょう。 git diff だけでも、多くの場面で役立ちます。

差分確認を習慣にすれば、より安心して開発を進められます。 今日から早速、作業前後で差分を確認してみてください。

共有:

著者について

とまだ

とまだ

フルスタックエンジニア

Learning Next の創設者。Ruby on Rails と React を中心に、プログラミング教育に情熱を注いでいます。初心者が楽しく学べる環境作りを目指しています。

著者の詳細を見る →