GitHubのPRで空白を隠すと変更が少なく見える理由

Dev
閲覧数 5

小さな修正なのに、フォーマッターのインデント変更で画面が赤と緑に埋まることがあります。GitHubが10月22日に発表した改善では、空白を表示するかどうかという個人設定を、複数のプルリクエストで引き継げるようになりました。

次のPRにも同じ表示設定を

Files changedのSettings → Whitespace changesでAlways show、Always hide、Hide for this diff onlyを選べます。保存した設定は個人に適用され、PRをまたいで使われます。空白を隠すとAll commitsの隣にHide whitespaceが表示され、Xで保存設定を変えず一時的に空白を表示できます。

ファイル数とdiff統計も、表示されている差分を反映します。数字が小さくなっていても、作成者が変更を削除したとは限りません。同じPRを見ている二人の数字が違うときは、フィルターの状態が手掛かりになります。

書式の陰にある一行を見つける

税込み価格を計算するJavaScriptの例を自作しました。新しい版では小数第2位まで丸め、同時にインデントを2スペースから4スペースに変えています。画像は実際に実行したローカルgit diffの出力で、GitHubの製品画面ではありません。

通常のdiffでは計算式とreturnがまとめて置き換わります。git diff -wでは計算式が文脈として残り、returnの変更が目立ちます。丸めの必要性、負数の扱い、既存テストの期待値に集中しやすくなります。読みやすさは向上しますが、正しさを保証するわけではありません。

自作した価格計算例の実際のgit diff出力。上が通常、下が-wで、丸め変更は両方に残ります。
自作した価格計算例の実際のgit diff出力。上が通常、下が-wで、丸め変更は両方に残ります。

空白そのものが動作になる場合

Pythonのインデント、YAMLの階層、文字列中の空白には意味があります。"Hello world"を"Helloworld"にすると見える文字列が変わります。-wは空白の比較方法を指定するもので、言語の意味を判定しません。

この単純な文字列の例では、-wの出力が実際に空になりました。2枚目の画像はその実行結果です。GitHubとローカルGitのすべての比較が同じだと主張するものではありません。空白に意味がある箇所は、最後に完全な差分を読み直す理由が分かります。

ローカルで実行した自作文字列の例。値が変わっても-wの差分は空になることがあります。
ローカルで実行した自作文字列の例。値が変わっても-wの差分は空になることがあります。

新しいファイルには広い表示領域

split viewでは新規・削除ファイルが両方の列の幅を使うようになりました。比較する旧版がないため、長い型定義やテスト名の折り返しを減らせる自然な配置です。

書式と機能が混在するPRでは、まず空白を隠して計算を読み、次に空白を表示して文字列や構造を見る使い方が考えられます。書式変更を別コミットにするのも有効です。設定が減らすのはクリックと視覚的な雑音であり、動作を理解する作業は引き続き必要です。

公式資料

GitHub Changelog · 2026-10-22

Git · git-diff

GitHub Docs · Reviewing proposed changes

2026年10月23日に公式発表とGit文書を確認し、2つの比較をローカルで実行しました。