Gitでマージを表示および編集するための最良のツールは何ですか?「mine」、「theirs」、「ancestor」が別々のパネルにあり、4番目の「output」パネルがある3方向のマージビューを取得したいと思います。
また、上記のツールを呼び出すための手順は素晴らしいでしょう。(エラーが発生しないような方法でkdiff3を起動する方法をまだ理解していません。)
私のOSはUbuntuです。
Gitでマージを表示および編集するための最良のツールは何ですか?「mine」、「theirs」、「ancestor」が別々のパネルにあり、4番目の「output」パネルがある3方向のマージビューを取得したいと思います。
また、上記のツールを呼び出すための手順は素晴らしいでしょう。(エラーが発生しないような方法でkdiff3を起動する方法をまだ理解していません。)
私のOSはUbuntuです。
" " で使用する独自のマージ ツールを構成できます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 ファイルに表示される必要があります。
私のお気に入りであるBeyond Compare 3には、 Pro エディションのマージ機能があります。マージの良い点は、ベース、左、右、およびマージ結果の 4 つのビューすべてを表示できることです。P4Vよりはやや視覚的ではありませんが、WinDiff よりははるかに優れています。多くのソース管理と統合され、Windows/Linux で動作します。高度なルール、エディション、手動調整などの多くの機能があります...
Perforce Visual Client ( P4V )は、マージ用の最も明確なインターフェイスの 1 つを提供する無料のツールです (いくつかのスクリーンショットを参照してください)。すべての主要なプラットフォームで動作します。そのツールに対する私の主な失望は、その種類の「読み取り専用」インターフェースです。ファイルを手動で編集したり、手動で位置合わせしたりすることはできません。
PS: P4Merge は P4V に含まれています。Perforce は、クライアントなしでツールを入手するのを少し難しくしようとしています。
SourceGear Diff/Mergeは、私の 2 番目の無料ツールの選択かもしれません。マージスクリーンショットを確認すると、少なくとも 3 つのビューがあることがわかります。
MeldはSourceGear Diff/Mergeよりも新しい無料ツールです。現在、ほとんどのプラットフォーム (Windows/Linux/Mac) でも動作しており、 Gitなどのソース管理をネイティブにサポートするという明確な利点があります。したがって、すべてのファイルの履歴の差分をより簡単に作成できます。マージ ビュー (スクリーンショットを参照) には、 SourceGear Diff/Mergeと同様に 3 つのペインしかありません。これにより、複雑なケースではマージがやや難しくなります。
PS: 1 つのツールが5 つのビューのマージをサポートする日が来るとしたら、これは本当にすばらしいことです。2 つのベース、2 つの変更、および 1 つの結果のマージ。
kdiff3 について良いことを耳にします。
私のお気に入りのビジュアルマージツールはSourceGearDiffMergeです
vimdiff
vim(そして私見すべき)を学んだら、vimdiffは学ぶべきもう1つの美しい小さな直交概念です。vimでオンラインヘルプを入手するには:
:help vimdiff
この質問では、その使用方法について説明します。vimdiffを使用して競合を解決するにはどうすればよいですか。
マウスの使用の暗黒時代にとらわれていて、マージするファイルがそれほど大きくない場合は、meldをお勧めします。
P4Mergeを試すことができます。
P4Merge を使用して、ファイル バージョン間の違いを視覚化します。色分けを使用して、並行開発または並行開発に起因する競合を解決します。
機能は次のとおりです。
ディフューズは私のお気に入りですが、もちろん偏見があります。:-) 使い方はとても簡単です:
$ diffuse "mine" "output" "theirs"
Diffuse は、Python で書かれた小さくてシンプルなテキスト マージ ツールです。Diffuse を使用すると、コードの変更を簡単にマージ、編集、およびレビューできます。Diffuse はフリーソフトウェアです。
Araxis Merge http://www.araxis.com/merge Mac OS X で使用していますが、Windows でも使用したことがあります...無料ではありません...しかし、優れた機能がいくつかあります...より優れています窓。
比較を超えた差分ツールを探しているだけなら、かなりいいです: http://www.scootersoftware.com/moreinfo.php
git mergetool -t=<tool>
またはを渡すことで、git mergetool で使用されるツールを変更できます--tool=<tool>
。デフォルトを (vimdiff から) 変更するには、 を使用しますgit config merge.tool <tool>
。
ここに記載されている多くのツールを試しましたが、どれも私が探しているものではありませんでした.
個人的には、Atomは相違点を視覚化し、競合の解決/マージを行うための優れたツールであることがわかりました。
マージに関しては、3 つのビューはありませんが、すべてが 1 つに結合され、バージョンごとに色付きのハイライトが表示されます。コードを直接編集するか、必要なバージョンのスニペットを使用するためのボタンがあります。
git を操作するためだけに、エディターや IDE としても使用しなくなりました。クリーンな UI と非常に簡単な操作に加えて、高度なカスタマイズが可能です。
コマンドラインから開始して、開きたい単一のファイルを渡すか、プロジェクトフォルダー (git repo) を追加できます。
私が経験した唯一の問題は更新です。大きなリポジトリで作業する場合、atom は、外部で行った変更の更新が遅くなる可能性があります。終了したら常に閉じてから、変更/コミットを再度表示したいときに再度開きます。ctrl+shift+f5 でウィンドウをリロードすることもできますが、これには 1 秒しかかかりません。
もちろん無料です。
Linux、Mac、または Windows にECMerge diff/merge ツールをインストールできます。Git で事前に構成されているため、使用git mergetool
するだけで機能します。
gitx http://gitx.frim.nl/
大規模なコミット セットを操作するときにいくつかのバグがありますが、変更をブラウジングし、さまざまな変更をステージングしてコミットするのに適しています。