Gitに最適なビジュアルマージツールは何ですか? [閉まっている]

StackOverflow https://stackoverflow.com/questions/137102

  •  02-07-2019
  •  | 
  •  

質問

Gitでマージを表示および編集するのに最適なツールは何ですか? <!> quot; mine <!> quot;、<!> quot; theirs <!> quot;の3方向のマージビューを取得したいおよび<!> quot; ancestor <!> quot;別のパネルで、4番目の<!> quot; output <!> quot;パネル。

また、このツールを呼び出すための指示は素晴らしいと思います。 (エラーが出ないようにkdiff3を起動する方法はまだわかりません。)

私のOSはUbuntuです。

役に立ちましたか?

解決

Meld はdiff / mergeツールです。

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

他のヒント

<!> quot; git mergetool <!> quot;で使用する独自のマージツールを設定できます。

例:

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

そして、あなたがそれをしている間に、<!> quot; git difftool <!> quot;のdifftoolとして設定することもできます:

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

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

Beyond Compare 3 は私のお気に入りです。 href = "http://www.scootersoftware.com/moreinfo.php?zz=moreinfo_merge" rel = "noreferrer">マージ Proエディションの機能。マージの良い点は、ベース、左、右、マージ結果の4つのビューすべてを表示できることです。それは P4V より視覚的にはやや劣りますが、WinDiffよりもはるかに優れています。 多くのソース管理と統合し、Windows / Linuxで動作します。高度なルール、エディション、手動調整など、多くの機能があります...

Perforce Visual Client P4V は、マージのための最も明示的なインターフェイスの1つを提供する無料のツールです(一部のスクリーンショット)。すべての主要プラットフォームで動作します。このツールに対する私の主な失望は、その種類の <!> quot; read-only <!> quot;です。インターフェース。ファイルを手動で編集したり、手動で整列したりすることはできません。

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

SourceGear Diff / Merge は2回目の無料ツールの選択。マージ screens-shot をチェックすると、3少なくとも表示します。


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

PS:いつか1つのツールが 5ビューのマージをサポートしている場合、これは本当に素晴らしいことです。Gitでコミットをチェリーピックする場合、ベースは1つではなく2つです。 2つのベース、2つの変更、および1つの結果のマージ。

私のお気に入りの視覚的マージツールは SourceGear DiffMerge

です。
  • 無料です。
  • クロスプラットフォーム(Windows、OS X、およびLinux)。
  • クリーンなビジュアルUI
  • 期待するすべての差分機能(差分、マージ、フォルダ差分)。
  • コマンドラインインターフェース。
  • 使用可能なキーボードショートカット。

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

kdiff3について良いことを聞きました。

vimdiff

vimを学習したら(そして、私見する必要があります)、vimdiffは、学ぶべきもう1つの美しい小さな直交概念です。 vimでオンラインヘルプを表示するには:

:help vimdiff 

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

ここに画像の説明を入力

マウス使用の暗黒時代に行き詰まっていて、マージするファイルがあまり大きくない場合は、meldをお勧めします。

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

  

P4Mergeでファイルバージョン間の違いを視覚化します。カラーコーディングを介した並行開発または同時開発に起因する競合を解決します。

機能には以下が含まれます:

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

IntelliJ IDEA には、洗練されたマージの競合があります解決ツールとResolveマジックワンドを使用すると、マージが大幅に簡素化されます。

出典:https://blog.jetbrains.com/dotnet/2017/03/13/rider-eap-update-version-control-database-editor-improvements/

拡散は私のお気に入りですが、もちろん偏見があります。 :-)使い方はとても簡単です:

$ diffuse "mine" "output" "theirs"
  

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

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

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

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

したがって、git mergeの場合、次を試すことができます:

  • DiffMerge を使用して、Windows、OS X、Linux上のファイルを視覚的に比較およびマージします。

     DiffMerge

  • Meld は、視覚的な差分およびマージツールです。

     Meldは視覚的な差分およびマージツールです

  • KDiff3 (diffおよびマージプログラム)、2つまたは3つのテキスト入力ファイルを比較またはマージします/ dirs。
  • opendiff (macOSのXcodeツールの一部)、ターミナルからFileMergeアプリケーションを起動して、ファイルまたはディレクトリをグラフィカルに比較するコマンドラインユーティリティ。マージ

ここで述べた多くのツールを試しましたが、どれも私が探しているものではありませんでした。

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

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

Gitを操作するためだけに、エディターやIDEとしては使用しません。すっきりしたUIと非常に簡単で、さらに高度なカスタマイズが可能です。

  • コマンドラインから起動して、必要な単一のファイルを渡すことができます プロジェクトフォルダーを開くか、プロジェクトフォルダーを追加します(git repo)。

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

そしてもちろん無料です。

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

マージと比較にさまざまなツールを使用しています:

git config --global diff.tool diffuse
git config --global merge.tool kdiff3

拳の呼び出し元:

git difftool [BRANCH] -- [FILE or DIR]

Secondは、git mergetoolを使用すると呼び出されます。

visual studio を使用する場合、Team Explorerに組み込まれたツールは、git mergeの競合を解決するための非常に優れたツールです。

gitx http://gitx.frim.nl/

大規模なコミットセットを使用する場合のバグがいくつかありますが、変更をブラウズしてステージにさまざまな変更を選択し、コミットするのに最適です。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top