web-dev-qa-db-ja.com

最高の3者間マージツールとは何ですか?

Subversion、Git、Mercurialなどは、3者間マージ(マイニング、theirs、および「ベース」リビジョンの組み合わせ)をサポートし、競合を解決するグラフィカルツールをサポートしています。

どのツールを使用していますか? Windows、Mac OS X、Linux、無料または商用、あなたはそれに名前を付けます。

会話を始めるためだけに、私が使ったり聞いたりしたことがいくつかあります。

(これは Best Diff Tool のようなものであると認識していますが、3者間マージツールに明示的に焦点を当てている点が異なります; WinMerge はリストから外れています例)

254
Dan Fabulich

KDiff オープンソース、クロスプラットフォーム

LinuxとWindowsの同じインターフェイス、競合を解決するための非常にスマートなアルゴリズム、競合を自動的に解決するための正規表現、ClearCase、SVN、Git、MS Visual Studioと統合、編集可能なマージファイル、ディレクトリの比較

そのキーボードナビゲーションは素晴らしいです:差分をナビゲートするctrl-矢印、マージを行うにはctrl-1、2、3。

また、 https://stackoverflow.com/a/2434482/4247 を参照してください

enter image description here

159
sotto

ちょうどチェックアウトしたP4merge別のブログ記事で聞いたので:

enter image description here

非常に滑らかなインターフェイス、無料!私は忠実なAraxis Mergeユーザーですが、これが無料で素晴らしいことを考慮して、ぜひチェックしてみてください。

104
Dan Esparza

Beyond Compare 3 Pro がサポートされています スリーウェイマージ 。これは非常に印象的なマージツールです。これは商用(ただし価値はありますが、IMHO)であり、Windows、Linux、およびMac OS Xで利用できます。

コメントで指摘されているように、それも安価です。

Enter image description here

注:マージセットがない場合、つまり、宛先ファイルに存在するマージマーカーがある場合、Beyond Compareは3者間ファイル比較/編集を提供しません。比較を超えて その機能がリストに載っていると言う

注:3者間マージは、Beyond Compare 3のProエディションのみの機能です

93
Joshua McKinnon

Meld Diff Viewer

Meldでの作業は良い経験しかありません。ブランチ間で乱雑なコードのマージを行う必要がある場合に使用します。使い方は簡単で、インターフェイスはすっきりしています。

  • オープンソース
  • Linux、Windows、およびMacOSをサポート
  • 複数ファイルの差分
  • 3者間比較のサポート

Ubuntuでは、インストールは次のように簡単です:Sudo apt-get install meld

enter image description here

73
Elijah

vimdiff。それは素晴らしい。必要なのは、幅3フィートの窓だけです。

enter image description here

42
Paul Beckingham

ソースギア差分マージ

クロスプラットフォームの真の3者間マージ。商用または個人での使用は完全に無料です。

enter image description here

37
CMS

Araxis Merge 。商用ですが、それだけの価値があります... WindowsおよびMac OS Xで利用可能です。

Enter image description here

31
Dave

Kdiff3競合解決アルゴリズムは本当に印象的です。

Subversionが競合を示している場合でも、Kdiff3はそれを自動的に解決します。同じインターフェースを持つWindowsとLinuxのバージョンがあります。 Tortoiseおよびlinux Shellと統合することが可能です。

私のお気に入りのオープンソースソフトウェアのリストにあります。任意のマシンにインストールした最初のツールの1つ。

Subversion、Git、Mercurial、ClearCaseでデフォルトの差分ツールとして設定できます。また、ほぼすべてのClearCaseの競合を解決します。 Windowsでは、Windowsエクスプローラーとの素晴らしい統合があります。2つのファイルを選択して右クリックし、それらを比較するか、右クリックしてファイルを「後で保存」してから、比較する別のファイルを選択します。

マージされたファイルは編集可能です。滑らかなキーボードショートカットがあります。

ディレクトリを比較およびマージすることもできます。見る: Kdiff3 Comparing directories

高度な機能は、自動マージの定義に正規表現を使用することです。

私の唯一の迷惑は、お気に入りのディストリビューションリポジトリにない場合、コンパイルが少し難しいことです。

27
neves

Ediff が大好きです。 GNU Emacs が組み込まれています。

3者間diffを行うには、ediff-files3(3つのファイルを選択するため)またはediff-buffer3(3つの既に開いているバッファーを選択するため)を使用します。次のような画面が表示されます。

three-way diff in emacs

単語差ハイライトに注意してください。

nまたはpを押すと次/前のdiffに移動できますが、abは領域をバッファーa(左端)からバッファーb(中央)にコピーします。同様にabの他の2文字の組み合わせ、c; rbは、バッファーbの領域を復元します。 ?を押してクイックヘルプメニューを表示するか、または Emacsでのdiff3のマージに関する詳細なマニュアルを読んでください

13
jcrossley3

Diffuse は使いやすい3者間マージツールです。あなたが言及したすべてのプラットフォームとバージョン管理システムをサポートし、3つ以上のファイルを同時に比較できます。

enter image description here

11
Derrick Moser

ウルトラコンペア 。本当に優れており、大きなファイル(1GB以上)を適切に処理し、Windows/Mac/Linuxで使用できます。また、市販されていますが、それだけの価値はあります。

Screen shot of UltraCompare Professional on Windows

10
MrTelly

xxdiff Linuxの土地にいる場合。

Enter image description here

6
Mark Harrison

しばらく前にいくつかのマージツールのレビューを書きましたが、それは役に立つかもしれません: http://www.misuse.org/science/2007/02/24/3-way-merging/

要約すると、ECMergeは商用製品であるにも関わらず、優れていることがわかりました。 http://www.elliecomputing.com/products/merge_overview.asp

enter image description here

また、Ultracompareが非常に優れていることもMrTellyに同意します。すばらしい機能の1つは、RTFとWordドキュメントを比較することです。これは、営業担当者とWordでプログラミングし、ドキュメントを正しく管理できない場合に便利です。

3
Steve Midgley