テキスト差分マージツール
三方向マージツール。Base、Mine、Theirsバージョン間のコンフリクトを解決します。
このツールについて
テキスト差分マージツールは、デスクトップソフトウェアをインストールせずに テキストのコンフリクトを解決したい開発者向けに設計された、無料のブラウザベース 三方向マージツールです。三方向マージは、GitやほかのバージョンコントロールSystem がブランチを結合する際に内部的に使用する技術と同じもので、2つの変更された バージョンを共通の祖先(ベース)と比較して、どの変更が自動的に適用でき、 どれが手動介入を必要とするかを判断します。
すべての処理はJavaScriptで実装されたカスタムLCS(最長共通部分列)差分 アルゴリズムを使用してブラウザ内で完全に行われます。データがデバイスから 送信されることはなく、サーバーとの通信、ログ記録、サードパーティサービスの 利用はありません。これにより、設定ファイル、環境変数、プライベートAPI仕様、 プロプライエタリなソースコードなどの機密コンテンツのマージも安全に行えます。
「マージ」をクリックすると、ツールはBaseとMine、BaseとTheirsの間の行レベルの 差分を計算し、両方の差分を同時に走査します。片方のみが変更した領域は自動的に 適用されます。両方が同一の変更を行った領域も解決されます。両方が同じ領域を 異なるように変更した場合のみ、ツールはコンフリクトとしてフラグを立て、 各コンフリクトに対してBase、Mine、Theirsのいずれかを選択できる明確な ビジュアルインターフェースを提示します。
2つのテキストをサイドバイサイドで比較する読み取り専用のDiff Viewerツール とは異なり、このツールはマージのために設計されています。両方の バージョンの最良の部分を組み合わせた実際の出力を生成します。Gitマージ コンフリクトの解決、環境間での設定ファイル変更の調整、複数のコントリビューター からの独立した編集の統合に特に便利です。ベースバージョンが利用できない場合の 簡易的なインライン比較のために、よりシンプルな二方向差分モードも含まれています。
使い方
- 三方向マージモード(デフォルト)、またはシンプルな比較には二方向差分を選択します。
- Baseパネルに共通の祖先テキストを貼り付けます。これは両方が開始した元のバージョンです。
- Mineパネルにあなたの変更版を、Theirsパネルに相手の変更版を貼り付けます。
- マージをクリック(またはCtrl+Enterを押す)して三方向マージを実行します。
- マージ出力を確認します。コンフリクトのない変更は色分けされたハイライトで自動的に適用されます:緑がMine、青がTheirs。
- 各コンフリクト(赤でハイライト)について、Use Mine、Use Theirs、またはUse Baseをクリックして解決します。コンフリクトカウンターが進捗を追跡します。
- すべてのコンフリクトが解決されたら、コピーボタンまたはCtrl+Shift+Cで最終的なマージテキストをコピーします。
よくある質問
三方向マージとは何ですか?
三方向マージは、ドキュメントの2つの変更バージョンを共通の祖先(ベース)と比較します。各側がベースに対して何を変更したかを調べることで、アルゴリズムは重複しない変更を自動的に結合し、競合する編集を手動解決のためにフラグ付けできます。これはGit、Mercurial、SVNで使用されているのと同じ技術です。
データは安全ですか?
はい。マージはJavaScriptを使用してブラウザ内で完全に計算されます。データはサーバーに送信されず、保存やログ記録もされません。環境変数、秘密鍵、プロプライエタリな設定などの機密ファイルを安全にマージできます。
Diff Viewerとの違いは何ですか?
Diff Viewerは、2つのテキスト間の追加、削除、変更を表示する読み取り専用の比較ツールです。テキスト差分マージツールは、3つのバージョンを1つに結合し、コンフリクトのない変更を自動的に解決し、コンフリクトの解決用UIを提供するインタラクティブなマージツールです。
両方が同じ行を変更した場合はどうなりますか?
両方がまったく同じ変更を行った場合、ツールは自動的にそれを受け入れます。両方が同じ領域を異なるように変更した場合、コンフリクトとしてフラグが立てられます。解決ボタンを使用して、その特定の領域についてBase、Mine、Theirsバージョンのいずれかを選択できます。
コンフリクトマーカーはどのように見えますか?
未解決のコンフリクトは標準的なGitスタイルのマーカーを使用します:<<<<<<< Mineの後にあなたの変更、=======を区切りとして、相手の変更、そして>>>>>>> Theirs。これらのマーカーは各コンフリクトを解決するまで生テキスト出力に表示されます。
Gitマージコンフリクトに使えますか?
もちろんです。Gitがマージコンフリクトを報告した場合、ベースバージョン(マージベースコミットから)、あなたのバージョン(HEAD)、相手のバージョン(受信ブランチ)があります。それぞれを対応するパネルに貼り付け、マージし、コンフリクトを解決して、結果をファイルにコピーし直します。
二方向差分モードとは何ですか?
二方向差分モードは、ベースバージョンを必要とせずに2つのテキスト間のインライン差分を表示するシンプルな比較モードです。2つのバージョンのファイルしかなく、マージ機能が不要な場合の簡易的なサイドバイサイド比較に便利です。