【Git】差分を確認する方法を初心者向けに解説

Web開発

はじめに

Gitはソフトウェア開発の現場で幅広く使われているバージョン管理ツールです。
複数人での共同作業やコードの修正履歴をしっかり追跡するために、Gitを使いこなせるようになることはとても大切ではないでしょうか。

ただ、最初はたくさんのコマンドがあって混乱しがちかもしれません。
そのなかで多くの方がよく使うのが「差分の確認」です。
これは、ファイルの変更点を可視化して、レビューやバグの発見に役立てるために欠かせません。

本記事では、Gitでの差分確認の具体的な手順やコマンド例、さらに実務における活用シーンまで一通り解説していきます。
初心者の方でも理解しやすいように、なるべく専門用語を避けつつ、基本的な操作から順番に見ていきましょう。

この記事を読むとわかること

  • Gitにおける差分を確認するメリットと具体的な活用例
  • 基本的な差分確認コマンド(git diff など)の使い方
  • コミット間の変更点やリモートブランチとの比較方法
  • 実務でのトラブルシューティングやコンフリクト解消に役立つ手順

Gitで差分を確認するメリット

ソースコードに限らず、ドキュメントなどの変更点を可視化することにはいくつかのメリットがあります。

まず、変更内容の把握がスムーズになります。
1行でも変更があったら、それをしっかりと視覚化できるため、不具合が起きている箇所を探すときにとても便利です。

次に、コードレビューがやりやすいです。
開発チームが複数人で作業する場合、どこを変更したのかがすぐにわかるので、チーム内でのコミュニケーションコストを抑えられます。

また、履歴の追跡が容易という点も挙げられます。
いつ、誰が、どのファイルを、どのように変更したのかを正確に確認できるので、後から「なぜこの修正を入れたのか」を振り返るのも簡単です。

Gitで差分を確認するための基本コマンド

差分を確認する主なコマンドとして、git diffgit showgit log -p などがあります。
それぞれ使う目的が異なりますが、どれも変更点を表示するという点は同じです。
ここでは代表的なコマンドを一つずつ見ていきましょう。

git diffを使った確認

git diff は作業中のファイルとリポジトリ上のファイルとの変更点を表示するために使われます。
何もオプションをつけずに git diff と入力すると、現在の作業ツリーでの差分が表示されます。

git diff

例えば、まだコミットしていない修正内容だけを確認したいときに便利です。
また、すでにステージ(インデックス)に追加した変更を見たい場合は git diff --cached と打ち込むと、その差分が表示されます。

差分が多い時に役立つオプション例

差分が大量に出ると、一度にすべてを確認するのは大変です。
そうしたときは以下のようなオプションを活用してみましょう。

# 差分の統計情報だけを表示する
git diff --stat

# 変更箇所を最小限に表示する
git diff --minimal

# 差分のコンテキスト(前後の行数)を指定する
git diff -U1

--stat は変更ファイルの数や行数をざっくりと把握したいときに便利です。
--minimal は差分が複雑に見えるときに、よりシンプルな比較を試みるオプションです。
また、-U オプションでコンテキスト行数を指定すると、変更箇所の前後の行数が調整され、見やすい形にできます。

git showを使った確認

git show は特定のコミットの詳細を確認するのに適したコマンドです。
コミットIDを指定することで、そのコミットで行われた差分やメッセージなどをまとめて表示します。

git show <commitID>

たとえば、直前のコミットの差分を確認したい場合は、最新のコミットIDか HEAD を指定すると良いでしょう。
コミットIDは git log コマンドで確認できますが、長い文字列を全て入力する必要はなく、先頭数文字の省略形でも一意に特定できる場合はそれで動作します。

git log -pを使った確認

git log は変更履歴を表示するコマンドですが、オプション -p を付けることで、各コミットで加えられた差分を一緒に表示できます。
履歴を追いながら具体的な変更内容をチェックしたいときに非常に便利です。

git log -p

コミットメッセージと差分を合わせて確認できるため、どのコミットでどのような修正をしたかを一目で把握できます。
コミット履歴が多いと画面が大量の情報で埋まってしまうので、オプション --stat--oneline などで見やすく調整するとよいでしょう。

差分確認の具体例

実際の開発現場では、「まだコミットしていない変更」「すでにコミットした差分」「リモートブランチとの比較」など、いろいろなパターンで差分を確認します。
ここでは、いくつかの具体的な場面を想定して使い方を整理してみます。

作業ツリーでの差分

コードを書いている途中で「ちゃんと変更点が反映されているか」をチェックしたい場合は、以下のように git diff を実行すると良いです。

# ワークツリーの差分を確認
git diff

# すでにステージした変更だけを確認
git diff --cached

特に複数ファイルを同時に修正しているときは、一度差分を確認しておけば「想定外の箇所を修正していないか」を早めに見つけやすくなります。

コミット間の差分

コミットAとコミットBの間でどのような変更があったか知りたい場合は、次のように書きます。

# 直前のコミットと今の作業ツリーとの比較
git diff HEAD

# 二つのコミット間を比較
git diff <commitID1> <commitID2>

例えば、バグがどのコミットから入ったのかを特定したいときなどに活用すると便利です。
コミットIDを明示的に指定する場合は、git log --oneline などでIDをチェックしておきましょう。

リモートブランチとの比較

チーム開発では、リモートブランチとの比較が非常に重要です。
自分が作業しているブランチと、リモートのメインブランチ(例: origin/main)の差分を事前に確認しておくことで、プルリクエストを出す前に衝突や問題点を洗い出せます。

# リモートのmainブランチとの差分を確認
git diff origin/main

このように書くだけで、「自分のブランチにしかない変更点」や「すでにリモート側で変更されている内容」を把握できます。
プッシュの前後に確認する習慣をつけておくと、コンフリクトが発生した場合でも焦らずに対処できるでしょう。

差分確認を活用する実務シーン

実務では、ただ差分を確認するだけでなく、その確認結果をもとにレビュー修正方針の検討などを行います。
ここでは、特にわかりやすい使用例をいくつか挙げます。

コードレビュー

プルリクエストで差分を確認し、コメントをつけながら改修内容を洗練させていく流れです。
早めに問題点を見つけることで、後々の手戻りを防止しやすくなります。

バグ修正

不具合の原因を探る際に「いつ」「どこで」「何が」変更されたかを洗い出すのに差分が役立ちます。
ロールバック(以前の状態に戻す)判断をするときにも履歴をたどって、該当箇所を特定します。

仕様変更

仕様変更が入ったときに、「どれくらいの範囲に影響があるか」を事前に把握するために差分を確認します。
修正箇所が多すぎる場合は、設計から見直すきっかけになることもあるでしょう。

差分の確認は最終的な品質管理にもつながります。
内容をしっかり読み解くことで、思わぬ影響範囲を早期に発見できることがあります。

トラブルシューティングやコンフリクト解消時

差分の確認はトラブルシューティングにおいても非常に有効です。
複数のブランチで同じファイルを修正している場合、コンフリクト(衝突)が起きるかもしれません。
そんなときに変更点を比較しながら、どのようにマージすれば正しい状態になるかを判断できます。

具体的には、git diff --base [ファイル名]git diff --theirs [ファイル名] などを使うと、衝突したファイルについて、どこがどのように違うのかをより細かく確認できます。
また、競合が起きたら手動でファイルを修正し、改めてステージングしてからコミットするのが一般的な流れです。

差分ツールとの連携

コマンドラインだけではなく、 外部の差分ツール (difftool) やエディタの内蔵機能を組み合わせることで、よりわかりやすく差分を確認することができます。 例えば、VSCodeなどのエディタには比較ビューが標準搭載されているので、左右に並べたテキストで変更点が色分けされる仕組みがあります。

# 外部ツールを使った差分確認
git difftool

いちいちコマンドラインで追うよりも視覚的に変化がわかりやすくなるため、複雑な衝突を解消するときなどに効果的です。
ただし、ツールの設定やインストール手順は開発環境によって異なる場合があるので、必要に応じて公式ドキュメントを確認してください。

GUIを使う場合も、実際のGitの動きを把握しておくことは大切です。
ツール依存になりすぎると、トラブル時に原因を深く理解できなくなるリスクがあります。

まとめ

Gitでの差分確認は、初心者から上級者まで幅広い場面で役立ちます。
変更箇所を正しく把握できれば、コードレビューやバグ修正もスムーズに進められます。

特にチーム開発では、「誰が」「どこを」「なぜ修正したのか」を共有するために欠かせない手法です。
プルリクエストのレビュー時やコンフリクト解消時など、開発フローの中で積極的に差分を見ていくことをおすすめします。

まずは git diffgit showgit log -p などの基本コマンドに慣れて、リポジトリの履歴をきちんと管理するところから始めてみてください。
差分を確実に確認できるようになれば、チーム全体の開発効率や品質向上に大いに貢献できるはずです。

Gitをマスターしよう

この記事で学んだGitの知識をさらに伸ばしませんか?
Udemyには、現場ですぐ使えるスキルを身につけられる実践的な講座が揃っています。