【GitHub】PRの差分が見づらい...を解決するCompare機能が便利だった話
はじめに
最近、海外のエンジニアの方とGitHubで共同開発をする機会がありました。
相手がフォークしたリポジトリで作業していて、「変更内容を確認したいな」と思ったのですが、PRの「Files changed」タブだと正直見づらい...。
コミットが複数に分かれていて、同じファイルを何度も修正していると、結局何が変わったのか全体像が掴みにくいんですよね。
そんな時に知ったのが、GitHubのCompare(比較)機能です。
めちゃくちゃ便利だったので、備忘録として残しておきます。
Compare機能との出会い
調べていたら、GitHubにはブランチ間の差分を直接比較できる機能があることを知りました。
URL形式
https://github.com/[owner]/[repo]/compare/[base]...[head]
例えば、自分のリポジトリ(ozet1001/my-repo)のmasterブランチと、
相手のフォーク(partner/my-repo)のfeatureブランチを比較したい場合:
https://github.com/ozet1001/my-repo/compare/master...partner:my-repo:feature
このURLにアクセスするだけで、最終的な差分が一発で見れます。
PRの差分表示の何が見づらかったか
具体的に困っていたのはこんな点でした:
1. コミット履歴に引っ張られる
Commit 1: file.ts に10行追加
Commit 2: file.ts を3行削除
Commit 3: file.ts をまた修正
...
→ 結局、最終的にどう変わったの?
2. 途中経過も全部見える
試行錯誤の過程が全部差分として表示されるので、「最終的な変更」だけ知りたい時には情報が多すぎる。
3. 全体の規模感が掴みにくい
「このPR、何ファイル変更されてるんだろう?」
「変更量は多いのかな、少ないのかな?」
みたいな全体像が見えにくい。
実際に使ってみた
便利だったポイント
1. 最終的な差分だけが見れる
途中で「追加→削除」したファイルは差分に出てこない。
結果だけが分かるので、全体の変更点が見れて確認がすごく楽になりました。
✅ 変更されたファイル数
✅ 追加された行数
✅ 削除された行数
これが一目で分かる!
2. PR作成前に確認できる
相手がまだPRを作っていなくても、Compare機能なら差分が確認できます。
「そろそろ確認したいけど、PRはまだかな...」という時に便利でした。
3. 不要なファイルに気づける
自分がPRを出す前にCompareで確認すると、
「あれ、このファイル入れる必要ないな」みたいなのに気づけます。
❌ node_modules/ が入ってる
❌ .DS_Store が入ってる
❌ デバッグ用のconsole.logが残ってる
→ PR作成前に削除!
使い方(手順)
パターン1:URL直接入力(一番簡単)
ブラウザのアドレスバーに以下の形式で入力:
https://github.com/自分のユーザー名/リポジトリ名/compare/自分のブランチ...相手のユーザー名:リポジトリ名:相手のブランチ
ポイント:
- ブランチ名の間は
...(ドット3つ) - フォーク先は
ユーザー名:リポジトリ名:ブランチ名の形式 - スラッシュ
/ではなくコロン:で区切る
パターン2:GitHubのUIから
1. 自分のリポジトリを開く
2. 「Code」タブにいることを確認
3. URLの末尾に `/compare` を追加
例:https://github.com/user/repo/compare
4. "compare across forks" をクリック
5. base(比較元)と head(比較先)を選択
PRとCompareの使い分け
使ってみて分かったのですが、両方使い分けるのが良いと思いました。
| 使う場面 | ツール |
|---|---|
| 全体像を把握したい | Compare |
| レビューコメントをつけたい | PR |
| PR作成前の確認 | Compare |
| 正式なレビュー依頼 | PR |
| リリース内容の確認 | Compare |
個人的な使い方:
1. Compare で全体を確認(鳥瞰)
「何ファイル変わった?規模は?」
2. PR で詳細レビュー(虫瞰)
「この行のロジック、こう書いた方が...」
相手にバレない?
ちなみに、Compare機能で相手の変更を見ても通知は行きません。
- ❌ バレる:PR作成、Issue作成、コメント投稿
- ✅ バレない:Compare閲覧、コード閲覧、コミット履歴閲覧
公開リポジトリは誰でも見れるので、安心して確認できます。
まとめ
GitHubのCompare機能、正直もっと早く知りたかったです。
良かった点:
- 最終的な差分だけが見れる
- PR作成前に確認できる
- 全体像が把握しやすい
- URLを共有しやすい
こんな人におすすめ:
- PRの差分が見づらいと感じている人
- フォーク先の変更を確認したい人
- リリース前に変更内容を確認したい人
- 「結局何が変わったの?」を知りたい人
共同開発でのコミュニケーションが少し楽になったので、
同じように困っている方がいたら試してみてください!