はじめに
こんにちは!今回は、Gitで異なるブランチ間の変更点(差分)を確認する方法を初心者向けに説明します!
新卒エンジニアの私は、実行環境とmainブランチにマージするファイルの場所が異なるケースがありました。
「ちゃんと正しい場所を編集できているか?」「mainと比べて何が変わったのか?」を確認するためにGitの差分機能を活用しています。
また、ビルド前に明らかなミス(不要なファイル変更や削除)をチェックできるのも大きなメリットです。
できるだけレビューで指摘される前に自分で問題点を見つけましょう!
なぜ差分確認が大切なの?
Pull Requestを出す前に自分の変更内容をしっかり確認することはとても大切です。
特に:
- コミット数が多くなった時
- いろんなファイルを変更した時
- 変更内容が複雑で混乱しやすい時
基本のコマンド
作業中のファイルの差分を確認
# 変更したけどまだaddしていないファイルの差分
git diff
# addしたけどまだcommitしていない変更の差分
git diff --staged
ブランチ間の差分を確認
# mainブランチと現在ブランチの差分を確認
git diff main..[ブランチ名]
-
+
で始まる行:[ブランチ名]で追加された行 -
-
で始まる行:[ブランチ名]で削除された行
わかりやすく差分を確認するテクニック
変更されたファイルの一覧だけを見る
git diff --name-only main..[ブランチ名]
変更の統計情報を見る
git diff --stat main..[ブランチ名]
特定のファイルの差分だけを確認
git diff main..[ブランチ名] ファイル名
視覚的に確認
コマンドラインが苦手な方は、視覚的な方法も使えます:
GUIツールを使用
git difftool main..[ブランチ名]
仮プルリクエストで確認 ✅ 最もわかりやすい!
各プラットフォームでは、実際にプルリクエストを発行せずに差分を視覚的に確認できます:
GitHubの場合:
- ブランチをプッシュ後、リポジトリページにアクセス
- 「Pull requests」→「New pull request」をクリック
- ベースブランチ(mainなど)と比較ブランチを選択
- この段階では「Create pull request」ボタンを押さず、差分だけを確認
- 必要に応じて「Files changed」タブで詳細な差分を確認
GitLabの場合:
- リポジトリページで「Merge requests」→「New merge request」をクリック
- ソースブランチとターゲットブランチを選択
- 「Compare branches and continue」をクリック
- 差分の確認だけなら「Submit merge request」を押さずに確認可能
Azure DevOpsの場合:
- リポジトリページで「Pull requests」→「New pull request」をクリック
- ソースブランチとターゲットブランチを選択
- この段階で自動的に差分が表示される
- 必要に応じて「Files」タブで詳細な差分を確認
- 確認だけの場合は「Create」ボタンを押さずに閉じる
これにより、実際のPRと同じ形式で差分を確認できるため、非常に直感的で分かりやすいです!
むしろこれだけで全然いいので、前述したコマンドの意味が....
ただし、PRを作成した後に変更を確認して編集することはおすすめしません。
あくまで仮PRの段階で差分をしっかり確認しましょう。
PR後に編集するデメリット
- コミットが増えるとレビュー履歴が複雑になる
- 「修正済み」と思われた問題点が実は修正されていないことがある
- コードレビューのやり取りが長引く可能性がある
📝 よく使うオプション
オプション | 内容 |
---|---|
--name-only |
差分があるファイル名のみを表示 |
--stat |
ファイルごとの追加・削除行数を表示 |
--shortstat |
全体の変更数だけを簡潔に表示 |
補足ポイント
-
main..ブランチ名
は「mainを基準にして、ブランチ名で何が変わったか」を表す -
main...ブランチ名
(3点リーダー)は別の用途(共通の祖先からの差分) - ブランチ名に特殊文字が含まれる場合は、クォートで囲む
最後に
基本コマンド「git diff ブランチA..ブランチB
」を覚えておけば、多くの場面で活用できます。PR作成前に差分を確認する習慣をつけることで、より円滑な開発フローを実現しましょう!