広告が嫌いですか? 行く 広告なし 今日

3方向テキスト差分&マージビュー

開発者文章
[iotools_3_way_text_diff_merge_viewer]

ガイド

ベースバージョンに加えて2つの異なるバージョン(AおよびB)を貼り付け、ツールは古典的なdiff3アルゴリズムを使用してマージ結果を生成します。一方のみが変更された行は

3方向テキスト差分&マージビュー

ベースバージョンに加えて2つの異なるバージョン(AおよびB)を貼り付け、ツールは古典的なdiff3アルゴリズムを使用してマージ結果を生成します。一方のみが変更された行は自動的にマージされ、両方の側面が異なる変更をした行は衝突としてマークされ、Accept A、Accept B、Baseを保持、または両方を組み合わせるという選択肢があります。すべての操作はクライアントサイドで行われ、アップロードは不要です。

使用方法

  1. オリジナル(ベース)テキストを ベース ボックスに貼り付けます。これは、両方のバージョンが開始した共通の祖先です。
  2. 最初の編集コピーを バージョンA に貼り付けます。そして、2番目の編集コピーを バージョンB.
  3. デフォルトの 衝突時の戦略(マーカーを表示、Aを優先、Bを優先、またはベースを保持)を選択します。 マージ結果を確認:緑の境界線を持つ
  4. OK ブロックは自動的にマージされ、オレンジの境界線を持つ 衝突 ブロックはすべての3つの側面を表示し、決定が必要です。 各衝突に対して、
  5. Accept A Accept B, Baseを保持, を選択して、あなたの選択を確定します。使用、 または どちらも をキャンセルします。 クリア マージテキスト
  6. 生成された 完了したら。 実際の3方向マージ

機能

  • – LCSベースの行マッチングは、すべての入力で共有される安定したアンカーを特定し、それらの間の変更をグループ化します。 – すべての衝突はA、ベース、Bの並列表示として表示され、ワンクリックで承認できます。
  • 競合ごとの解決 両方の側面を組み合わせる
  • – AおよびBの両方を「Aの後にB」または「Bの後にA」と選択することで、2つの編集の合併を取得できます。 標準的な衝突マーカー
  • – 普通の出力では、<<<<<<>>>>>>というマーカーを使用しており、結果がGitツールに親しみやすいようにしています。 デフォルトの戦略
  • – 「Aを優先」、「Bを優先」、「ベースを保持」を設定することで、すべての衝突をクリックせずに同じ方法で自動解決できます。 ブラウザに残ります
  • – サーバーとの通信やアップロードは不要であり、ソースコード、ドラフト、またはその他の機密テキストに安全です。 なぜ3方向マージが必要ですか?

2方向の差分は、2つのテキストが異なることを示すだけで、どちらの側面が意図的に変更したかを示すことはできません。3方向マージは、共通の始点(ベース)を導入し、そのアンカーからの差異を意図の判断に使用します。一方のみが変更された行は自動的に取り込まれます。一方の側面が同じ領域を異なる方法で変更した場合、マージは衝突を正確に表面化し、一方の著者の作業を無視するのではなく、それを表面化します。

差分3アルゴリズムとは何ですか?

よくある質問

  1. 差分3は、標準的な3方向マージアルゴリズムです。ベースと各変異体間の最も長い共通部分列(LCS)を計算し、共有アンカー点を歩んで、領域を分類します。ベースと異なる側面のみが変更された領域は自動的に適用され、両方の変異体がベースから異なる方法で変更された領域は衝突として表示されます。これはGitの古典的なマージ戦略およびGNU diff3ユーティリティに使用されています。

    LCSベースの差分はどのように機能しますか?

  2. 最も長い共通部分列(LCS)は、両方の入力に同じ順序で現れる行の長さの最大値であり、ギャップを許容します。標準的な動的計画法テーブルはO(m*n)時間でその長さを計算し、テーブルをバックトラッキングすることで、マッチング行ペアを特定し、それ以外のすべては挿入または削除として扱われます。LCSは、正確な対応を必要としない最小で直感的な編集セットを提供します。

    なぜ一部の変更が自動マージされ、他の変更が衝突になるのですか?

  3. 3方向マージのアルゴリズムは、共有アンカーの間のギャップを3つの方法で比較します:ベースとA、ベースとB、AとB。ベースと異なる側面が1つだけの場合、変更は明確であり、自動的に取り込まれます。両方の側面が同じ変更をした場合、マージは1つのコピーを保持します。両方の側面が領域を異なる方法で変更した場合、マージは衝突を引き起こします。なぜなら、両方の意図を同時に尊重する自動的な方法が存在しないからです。

    <<<<<<>>>>>>マーカーの意味は何ですか?

  4. これらはGitのdiff3スタイルの衝突フォーマットから来ています。<<<<<<>>>>>>の間のブロックはバージョンBを示します。元のベースを両方の編集と並べることで、どの側面を保持するかまたはどのように組み合わせるかを決定しやすくなります。

    行ベースマージは、文字ベースまたは単語ベースマージと異なりますか?

  5. はい。行ベースマージは、各行を最小の原子単位として扱い、ソースコード、設定ファイル、およびほとんどのプレーンテキストドキュメントが書かれる方法に合致します。文字または単語ベースマージはより細かい編集を提供できますが、リフローされたテキストの文章ではノイズを多く生み出し、解決が難しい衝突を引き起こします。行ベースマージは、Gitの動作を模倣するツールにとって標準的な選択です。

    2026年6月12日に追加されました

広告なしで楽しみたいですか? 今すぐ広告なしで

拡張機能をインストールする

お気に入りのブラウザにIOツールを追加して、すぐにアクセスし、検索を高速化します。

に追加 Chrome拡張機能 に追加 エッジ拡張 に追加 Firefox 拡張機能 に追加 Opera 拡張機能

スコアボードが到着しました!

スコアボード ゲームを追跡する楽しい方法です。すべてのデータはブラウザに保存されます。さらに多くの機能がまもなく登場します!

ニュースコーナー 技術ハイライト付き

参加する

価値ある無料ツールの提供を継続するためにご協力ください

コーヒーを買って