コード以外でのdiffの使いどころ
バージョン管理が最も馴染み深い用途だが、契約書のドラフト間の変更追跡、スクレイピングしたWebページの内容の経時変化の検出、文書を確定させる前の2バージョンの比較など、活用範囲は広い。
小さな修正が大きな差分に見えてしまう理由
行単位のdiffは1文字でも違えば行全体を「変更」として扱うため、長い段落の中のタイプミス1つ直しただけでも見た目上は行全体の書き換えのように表示される。単語・文字単位の表示に切り替えると、実際の変更がどれだけ小さいか分かりやすくなる。
よくある質問
1単語しか変えていないのに、その行が削除と追加の両方として表示されるのはなぜですか?
それが行単位diffの表現方法だからです。行内でのインライン単語ハイライトに対応したツールでない限り、「一部だけ変更」ではなく「古い行の削除+新しい行の追加」として表示されます。
diffツールはプレーンテキスト以外も比較できますか?
コードやJSONなど構造化されたフォーマットに対応したツールも多いですが、比較のベースは基本的にテキストです。一部の専用ツールはJSONのキー順の違いを無視するなど、フォーマットの構造を理解した比較を行います。