Diff チェッカー
2つのテキストを比較して違いを強調表示します。テキストバージョン間の変更点、追加、削除を見つけられます。
Diff チェッカー の使い方
- 1
両方のテキストを貼り付ける
元のバージョンを左のボックスに、変更後のバージョンを右のボックスに入れます。
- 2
差分モードを選ぶ
「Line by Line」と「Word by Word」を切り替えて、比較の細かさを調整します。
- 3
比較を実行する
「Compare」をクリックすると、2つのテキスト間のすべての追加、削除、変更がハイライト表示されます。
- 4
変更点を確認する
色分けされた結果と、追加・削除・変更の量を示す統計パネルを確認します。
テキスト差分の仕組みと使いどころ
差分チェッカーは何をするのか
差分チェッカーは、テキストの2つのバージョン、すなわち元の版と変更後の版を受け取り、その間で何が変わったかを正確に示します。どこが追加され、どこが削除され、どこで内容が移動したかです。2つの文書を並べて目を凝らし、編集箇所を探そうとする代わりに、違いを際立たせた色分けの一覧と、どれだけ追加・削除・変更されたかをまとめた統計パネルを、1つにまとめて得られます。
これは、遅くて誤りやすい手作業の比較を、即座で信頼できるものに変えます。変更が1語の修正であろうと、段落まるごとの書き直しであろうと、差分はそれを明示的に浮かび上がらせるので、何も見過ごされずに済みます。
差分アルゴリズムの背後にある考え方
内部では、2つのテキストを比較することは、コンピューターサイエンスの古典的な問題です。ほとんどの差分ツールは、しばしば LCS と略される最長共通部分列という概念の上に成り立っています。これは、両方のバージョンに同じ順序で現れる、行や語といった要素の最も長い並びのことで、必ずしも隣り合っている必要はありません。アルゴリズムがその共通の骨格を見つけると、元の版でそれに含まれないものはすべて削除と数えられ、変更後の版でそれに含まれないものはすべて追加と数えられます。
これが重要なのは、力ずくの1文字ずつの不一致ではなく、最小で最も直感的な変更の集合を生み出すからです。文書の途中に1文を挿入すると、LCS ベースの差分は周囲のテキストが変わっていないと認識し、新しい文だけを印します。挿入点より後がすべて違う、などと主張したりはしません。
行単位と語単位
比較の粒度は、それが何を教えてくれるかを変えます。行単位モードは各行を1つの単位として扱い、どんな形であれ違う行を印します。これは、行が意味の自然な単位であるコード、設定ファイル、ログファイルにとって適切なレベルです。どの行が現れ消えたのか、ブロック単位の明確な全体像を与えてくれます。
語単位モードは、より細かくなります。2つの行がほとんど同じで数語だけ変わったとき、行全体を違うと印すのではなく、まさにその語を特定します。これは、見た目はほぼ同じ文の中で、1つの形容詞が入れ替わったり名前が修正されたりしたのを見たい、散文や編集に最適です。どの行が変わったかを気にするのか、どの語が変わったかを気にするのかに応じて、2つを切り替えましょう。
実例
The quick brown fox jumps という文を、The quick red fox leaps と比較してみましょう。行単位モードでは、同一ではないため行全体が変更として印されます。語単位モードでは、差分ははるかに役立ちます。brown が削除され red が追加された、jumps が削除され leaps が追加された、と示し、一方で The、quick、fox は変更なしと認識されます。同じ2つの入力でも、語レベルの表示は、編集者が何をしたかを正確に教えてくれます。
追加と削除はどう表示されるか
結果は色分けされ、2種類の変更がすぐに見分けられます。変更後の版にあって元の版にない内容は追加として印され、元の版にあって変更後の版から失われた内容は削除として印されます。変更とは、同じ場所で削除と追加が一緒に起こったもの、すなわち古い要素が取り除かれ、その場所に新しい要素が置かれたものにすぎません。
際立たせた表示と並んで、統計パネルが追加・削除・変更の数を数えてくれるので、詳細を読む前に、軽い校正なのか大きな改訂なのか、規模の感覚を手早くつかめます。
実際の利用シーン
差分は、ワークフローに加わると手放せなくなるツールの1つです。ライターや編集者は、改訂を校正し、意図したすべての編集が、そしてその編集だけが新しい原稿に反映されたことを確かめるために使います。開発者は、コミットやマージの前に、変更が実際にどこに触れたかを見る、略式のコードレビューに使います。法務やビジネスのチームは、契約のバージョンを比較し、ひそかに書き換えられた条項や数字を捕まえるために使います。運用エンジニアは、既知の正しいファイルと、サーバーで実際に動いているものとの間の設定のずれを見つけるために使います。
日常的な作業にも同じく役立ちます。リストの2つのエクスポートを比較して何が追加され削除されたかを見つけたり、検索と置換が意図しない巻き添えの変更なしに期待どおりに行われたかを確かめたりできます。
コツとよくある落とし穴
比較は文字どおりに照合するため、インデント、行末の余分なスペース、改行コードの違いが、本物の変更として検出されます。その厳密さは空白が重要なときには価値がありますが、そうでないときにはノイズの多い結果を生みかねません。そこで、散文を比較していて語句だけを気にするなら、まず空白を正規化するか、語そのものに集中するために語単位モードに頼りましょう。同様に、照合は大文字・小文字を区別するので、The と the は違うものとして読まれます。大文字・小文字の違いが確認したいものに含まれないなら、あらかじめ両方のテキストを小文字にしておきましょう。
よくある落とし穴は、仕事に合わない粒度を選ぶことです。大きく折り返し直された段落に行モードを使うと、改行が動いたせいでほとんどすべてが変更と印されますが、語モードならほんのひと握りの本物の編集を示してくれたはずです。実際に気にする単位に合ったモードを選び、変更の規模を一目でつかむには統計パネルに手を伸ばしましょう。
プライベートで無制限
比較はすべてブラウザ内で実行されるので、テキストのどちらのバージョンもサーバーにアップロードされません。これにより、機密の原稿、専有のコード、取り扱いに注意を要する契約にも安心して使えます。固定のサイズ制限はないので長い文書を貼り付けられますが、非常に大きな入力では、色分けされた差分全体を描画するのに少し時間がかかることがあります。
よくある質問
行単位モードと単語単位モードの違いは何ですか?
追加と削除はどのように表示されますか?
コードやリスト、整形済みテキストを比較できますか?
比較できるテキストの大きさに制限はありますか?
テキストのプライバシーは守られますか?
関連ツール
こちらの便利なツールもどうぞ