diff(差分比較) は、2つのテキストを比較して変更・追加・削除された箇所を視覚的に示す機能です。もとはプログラマがソースコードの変更を確認するために使っていた技術ですが、今は文書の修正確認・翻訳チェック・契約書の変更点確認など幅広い場面で活用されています。
diffで何ができるか
2つのバージョンのテキストを貼り付けるだけで、どこが変わったかが即座に分かります。
使い方の例:
- 契約書・規約の改訂前後を比較して変更箇所を素早く把握
- クライアントから戻ってきた修正原稿と元原稿を比較
- 翻訳文と原文を並べてニュアンスの確認
- コードのバグ修正前後を比較してどこが変わったか確認
- Webページのテキストを更新前後で比較
「赤くなっているところが削除」「緑になっているところが追加」というルールを覚えるだけで誰でも使えます。
差分の表示形式
diffには主に2種類の表示形式があります。
サイドバイサイド(並列表示)
左に旧バージョン、右に新バージョンを並べて表示します。変更箇所を対比しながら確認したい場合に直感的です。
ユニファイド形式(統合表示)
変更前後を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形式で表示され、コードレビューの基本的な画面になっています。
差分比較が役立つ業務シーン
規約・契約書の改訂確認
利用規約・プライバシーポリシー・業務委託契約書など、改訂のたびに何が変わったかを確認する作業に使えます。変更箇所だけをハイライトして表示するため、読み飛ばしを防げます。
校正・原稿修正の確認
ライターや編集担当に修正を依頼した後、どこが変わったかをまとめて確認できます。「修正されているはずなのに元に戻っている」というミスの発見にも有効です。
SEO対策でのコンテンツ更新
既存ページのテキストを更新する際、改定前後を比較して余計な削除や意図しない変更が入っていないかを確認できます。
多言語・翻訳チェック
原文と翻訳文を並べてdiffで比較することで、翻訳が抜けている箇所や追加されている箇所を発見しやすくなります。
diffを使う際の注意点
コピーアンドペーストの形式に注意: Wordや一部のCMSからコピーしたテキストには、見えない制御文字や特殊なスペース(全角スペース・ノーブレークスペース)が含まれることがあります。これが差分として検出されることがあります。
大文字・小文字の扱い: 英語テキストの比較では、大文字・小文字を区別するかどうかによって結果が変わります。通常は区別して比較するのが安全です。