662

Gitでマージを表示および編集するための最良のツールは何ですか?「mine」、「theirs」、「ancestor」が別々のパネルにあり、4番目の「output」パネルがある3方向のマージビューを取得したいと思います。

また、上記のツールを呼び出すための手順は素晴らしいでしょう。(エラーが発生しないような方法でkdiff3を起動する方法をまだ理解していません。)

私のOSはUbuntuです。

4

18 に答える 18

384

Meldは、無料のオープンソースのクロスプラットフォーム(UNIX / Linux、OSX、Windows)の差分/マージツールです。

インストール方法は次のとおりです。

  • Ubuntu
  • マック
  • Windows:「Meldfor Windowsの推奨バージョンは最新のリリースであり、https: //meldmerge.orgからMSIとして入手できます。 」
于 2008-09-26T00:39:54.497 に答える
99

" " で使用する独自のマージ ツールを構成できますgit mergetool

例:

  git config --global merge.tool p4merge
  git config --global mergetool.p4merge.cmd p4merge '$BASE $LOCAL $REMOTE $MERGED'
  git config --global mergetool.p4merge.trustExitCode false

同時に、" " の difftool として設定することもできますgit difftool:

  git config --global diff.tool p4merge
  git config --global difftool.p4merge.cmd p4merge '$LOCAL $REMOTE'

Unix/Linux では、シェルによって が変数として解析されることを望まないことに注意して$BASEください。これが機能するには、実際に ~/.gitconfig ファイルに表示される必要があります。

于 2010-02-10T09:55:12.797 に答える
69

私のお気に入りであるBeyond Compare 3には、 Pro エディションのマージ機能があります。マージの良い点は、ベース、左、右、およびマージ結果の 4 つのビューすべてを表示できることです。P4Vよりはやや視覚的ではありませんが、WinDiff よりははるかに優れています。多くのソース管理と統合され、Windows/Linux で動作します。高度なルール、エディション、手動調整などの多くの機能があります...

Perforce Visual Client ( P4V )は、マージ用の最も明確なインターフェイスの 1 つを提供する無料のツールです (いくつかのスクリーンショットを参照してください)。すべての主要なプラットフォームで動作します。そのツールに対する私の主な失望は、その種類の「読み取り専用」インターフェースです。ファイルを手動で編集したり、手動で位置合わせしたりすることはできません。

PS: P4Merge は P4V に含まれています。Perforce は、クライアントなしでツールを入手するのを少し難しくしようとしています。

SourceGear Diff/Mergeは、私の 2 番目の無料ツールの選択かもしれません。マージスクリーンショットを確認すると、少なくとも 3 つのビューがあることがわかります。


MeldSourceGear Diff/Mergeよりも新しい無料ツールです。現在、ほとんどのプラットフォーム (Windows/Linux/Mac) でも動作しており、 Gitなどのソース管理をネイティブにサポートするという明確な利点があります。したがって、すべてのファイルの履歴の差分をより簡単に作成できます。マージ ビュー (スクリーンショットを参照) には、 SourceGear Diff/Mergeと同様に 3 つのペインしかありません。これにより、複雑なケースではマージがやや難しくなります。

PS: 1 つのツールが5 つのビューのマージをサポートする日が来るとしたら、これは本当にすばらしいことです。2 つのベース、2 つの変更、および 1 つの結果のマージ。

于 2010-10-01T09:22:37.940 に答える
57

kdiff3 について良いことを耳にします。

于 2008-09-26T01:45:09.613 に答える
45

私のお気に入りのビジュアルマージツールはSourceGearDiffMergeです

  • これは無料。
  • クロスプラットフォーム(Windows、OS X、およびLinux)。
  • すっきりとしたビジュアルUI
  • 期待するすべてのdiff機能(Diff、Merge、Folder Diff)。
  • コマンドラインインターフェイス。
  • 使用可能なキーボードショートカット。

ユーザーインターフェース

于 2008-09-26T00:34:31.747 に答える
34

vimdiff

vim(そして私見すべき)を学んだら、vimdiffは学ぶべきもう1つの美しい小さな直交概念です。vimでオンラインヘルプを入手するには:

:help vimdiff 

この質問では、その使用方法について説明します。vimdiffを使用して競合を解決するにはどうすればよいですか。

ここに画像の説明を入力してください

マウスの使用の暗黒時代にとらわれていて、マージするファイルがそれほど大きくない場合は、meldをお勧めします。

于 2010-10-01T13:55:48.023 に答える
28

P4Mergeを試すことができます。

P4Merge を使用して、ファイル バージョン間の違いを視覚化します。色分けを使用して、並行開発または並行開発に起因する競合を解決します。

機能は次のとおりです。

  • テキスト ファイルの違いを強調表示して編集する
  • 行末または空白を含めるか無視するかを選択します
  • Windows (CRLF)、Mac (CR)、Unix (LF) の改行規則を認識する
  • コマンドライン パラメータを使用し、Perforce 以外のアプリケーションから起動する
  • ファイルの比較およびマージ時に行番号を表示する
  • 変更された、一意の、または変更されていないファイルを除外する
  • 名前または拡張子でファイルをフィルタリングする
  • 変更されたアセットを使い慣れたファイル/フォルダー階層に整理する
  • JPEG、GIF、TIFF、BMP、その他のファイル形式を比較
  • Qt API を使用して拡張する
  • 画像をオーバーレイするか、並べて表示する
  • オーバーレイされた画像の違いを強調表示する
于 2009-09-01T00:22:40.487 に答える
16

ディフューズは私のお気に入りですが、もちろん偏見があります。:-) 使い方はとても簡単です:

$ diffuse "mine" "output" "theirs"

Diffuse は、Python で書かれた小さくてシンプルなテキスト マージ ツールです。Diffuse を使用すると、コードの変更を簡単にマージ、編集、およびレビューできます。Diffuse はフリーソフトウェアです。

于 2008-12-03T16:20:23.817 に答える
13

Araxis Merge http://www.araxis.com/merge Mac OS X で使用していますが、Windows でも使用したことがあります...無料ではありません...しかし、優れた機能がいくつかあります...より優れています窓。

于 2010-04-10T01:13:15.123 に答える
9

比較を超えた差分ツールを探しているだけなら、かなりいいです: http://www.scootersoftware.com/moreinfo.php

于 2008-09-26T01:50:40.957 に答える
8

git mergetool -t=<tool>またはを渡すことで、git mergetool で使用されるツールを変更できます--tool=<tool>。デフォルトを (vimdiff から) 変更するには、 を使用しますgit config merge.tool <tool>

于 2008-11-18T16:49:52.013 に答える
6

ここに記載されている多くのツールを試しましたが、どれも私が探しているものではありませんでした.

個人的には、Atomは相違点を視覚化し、競合の解決/マージを行うための優れたツールであることがわかりました。

マージに関しては、3 つのビューはありませんが、すべてが 1 つに結合され、バージョンごとに色付きのハイライトが表示されます。コードを直接編集するか、必要なバージョンのスニペットを使用するためのボタンがあります。

git を操作するためだけに、エディターや IDE としても使用しなくなりました。クリーンな UI と非常に簡単な操作に加えて、高度なカスタマイズが可能です。

  • コマンドラインから開始して、開きたい単一のファイルを渡すか、プロジェクトフォルダー (git repo) を追加できます。

    • また、ツリー ビューをいっぱいにすることなくプロジェクト間を移動するための非常に便利な方法として、project-managerをお勧めします。
  • 私が経験した唯一の問題は更新です。大きなリポジトリで作業する場合、atom は、外部で行った変更の更新が遅くなる可能性があります。終了したら常に閉じてから、変更/コミットを再度表示したいときに再度開きます。ctrl+shift+f5 でウィンドウをリロードすることもできますが、これには 1 秒しかかかりません。

もちろん無料です。

于 2017-09-30T05:46:35.653 に答える
2

Linux、Mac、または Windows にECMerge diff/merge ツールをインストールできます。Git で事前に構成されているため、使用git mergetoolするだけで機能します。

于 2010-09-04T12:36:24.970 に答える
0

gitx http://gitx.frim.nl/

大規模なコミット セットを操作するときにいくつかのバグがありますが、変更をブラウジングし、さまざまな変更をステージングしてコミットするのに適しています。

于 2009-09-01T00:18:51.483 に答える