テキスト比較(Diff)とは?
同じものの2つのバージョン——編集前後の原稿、2つの設定ファイル、貼り付けた2つのコード——があるとき、「どこが変わったか」を最速で知る方法が diff です。このテキスト比較ツールは2つのテキストを並べて比較し、追加(緑)と削除(赤)を行単位または単語単位でハイライトします。すべてブラウザ内で処理し、アップロードしません。
使い方
- 「元」と「変更後」のテキストを2つの欄に貼り付けます。
- 結果が即座に表示され、追加・削除の行数の要約も出ます。
- 文中の小さな変更を見たいときは「単語」比較に切り替えます。
主な用途
- コードや設定ファイルの2バージョンを比較。
- 契約書や文章のどこが変わったかを確認。
- 2つのリストの違いを見つける。先に書式を整えたいならテキストクリーナーを。
1単語直しただけで、なぜ行全体が赤緑に?
行比較では、行の中の文字が1つでも違えばその行は「変更あり」と見なされ、赤い行と緑の行(旧を削除し新を追加)として表示されます——たとえ1単語しか変えていなくても。これはバグではなく、行単位比較の定義です。文中のどの単語が変わったかを正確に見たいときは単語比較に切り替えれば、違う単語だけに色が付きます。逆に、コード・設定ファイル・リストのように「行が単位」の内容は行比較が最も分かりやすいです。もう一点、diff は1文字ずつ厳密なので、行末の空白や改行コードだけが違う2ファイルは雑然と見えます——先にテキストクリーナーで整えると、本当の差分が浮かび上がります。
4 種類の編集はそれぞれどう見える?
このページが 4 種類の編集に対して実際に返す結果です。1 語変更:the quick brown fox − jumps over the lazy dog + jumps over the lazy cat —— 共通の行は無印、変わった行は 2 回現れます。1 行挿入:alpha + beta gamma、1 行削除:alpha − beta gamma —— それぞれ印付きは 1 行だけです。つまり隣り合うマイナスとプラスの組は「変更」、単独の印が本当の挿入・削除です。次に同じ 3 語を 1 行から 3 行へ、内容は何も変えずに:
−
one two three
+
one
+
two
+
threeすべての行が印付きです。ここでは行が比較の単位なので、再整形は diff を壊します。だから「改行コードの統一」は本当の変更とは別のコミットにすべきです。