diff(差分比較) は、2つのテキストを比較して変更・追加・削除された箇所を視覚的に示す機能です。もとはプログラマがソースコードの変更を確認するために使っていた技術ですが、今は文書の修正確認・翻訳チェック・契約書の変更点確認など幅広い場面で活用されています。

diffで何ができるか

2つのバージョンのテキストを貼り付けるだけで、どこが変わったかが即座に分かります。

使い方の例:

「赤くなっているところが削除」「緑になっているところが追加」というルールを覚えるだけで誰でも使えます。

差分の表示形式

diffには主に2種類の表示形式があります。

サイドバイサイド(並列表示)

変更前後を左右に並べて対比できる形式で、内容の変化を直感的に確認したい場合に適しています。

左に旧バージョン、右に新バージョンを並べて表示します。変更箇所を対比しながら確認したい場合に直感的です。

ユニファイド形式(統合表示)

GitやGitHubで標準的に使われる形式で、1画面で追加・削除を記号で把握できます。

変更前後を1つの画面にまとめ、削除行に -、追加行に + を付けて表示します。GitやGitHubの差分表示で使われている形式です。

- 旧:お問い合わせはメールにてご連絡ください。
+ 新:お問い合わせはフォームまたはメールにてご連絡ください。

差分の比較単位

差分は「行単位」と「文字単位」の2種類で計算できます。

行単位(Line diff): テキストを行ごとに比較します。プログラムのソースコードや箇条書きのような行で区切られたテキストに向いています。

文字単位(Character diff): 行の中のどの文字が変わったかまで表示します。長い段落の中の単語1つを変更した場合などに有効です。

長い文章の微細な変更(「です」→「ます」のような語尾の変化など)は、文字単位の差分が格段に見やすくなります。

Gitにおけるdiff

プログラマが日常的に使うバージョン管理システム Git は、ファイルの変更履歴をdiffで管理しています。よく使うコマンドと使い分けをまとめます。

git diff           # 変更済みだが未ステージのファイルの差分
git diff --staged  # ステージ済みの差分
git log -p         # コミット履歴と差分をまとめて表示

GitHubやGitLabのPull Request(プルリクエスト)画面では、変更内容がビジュアルなdiff形式で表示され、コードレビューの基本的な画面になっています。

差分比較が役立つ業務シーン

プログラマ以外にも使えるdiffの具体的な活用場面を、業務シーン別に紹介します。

規約・契約書の改訂確認

変更箇所のハイライト表示により、読み飛ばしを防ぎながら改訂内容を正確に把握できます。

利用規約・プライバシーポリシー・業務委託契約書など、改訂のたびに何が変わったかを確認する作業に使えます。変更箇所だけをハイライトして表示するため、読み飛ばしを防げます。

校正・原稿修正の確認

修正依頼後の変更箇所を一括で確認でき、意図しない変更や戻し忘れを発見するのに役立ちます。

ライターや編集担当に修正を依頼した後、どこが変わったかをまとめて確認できます。「修正されているはずなのに元に戻っている」というミスの発見にも有効です。

SEO対策でのコンテンツ更新

ページ更新時に余計な削除や意図しない変更が入っていないかを確認するために活用できます。

既存ページのテキストを更新する際、改定前後を比較して余計な削除や意図しない変更が入っていないかを確認できます。

多言語・翻訳チェック

原文と翻訳文をdiffで照合することで、翻訳の抜けや余分な追加を効率よく発見できます。

原文と翻訳文を並べてdiffで比較することで、翻訳が抜けている箇所や追加されている箇所を発見しやすくなります。

diffを使う際の注意点

差分比較の結果が意図どおりに出ないときに確認すべきポイントをまとめます。

コピーアンドペーストの形式に注意: Wordや一部のCMSからコピーしたテキストには、見えない制御文字や特殊なスペース(全角スペース・ノーブレークスペース)が含まれることがあります。これが差分として検出されることがあります。

大文字・小文字の扱い: 英語テキストの比較では、大文字・小文字を区別するかどうかによって結果が変わります。通常は区別して比較するのが安全です。