2009-07-10 16 views
24

私は2 GITブランチのかなり大きな違いがあり、いくつかの種類のすばらしいUIで並べて表示したいと思っています。 私にはdiffが簡単に表示され、相違点は を1つずつマージすることができればうれしいです。 git diffは使いづらいです。GIT diff GUI

+0

私はこれを使ったことがないので、これをコメントとして追加しますが、[gitk] [1]はそのトリックを行いますか? [1]:http://www.kernel.org/pub/software/scm/git/docs/gitk.html – seth

+0

これはごめんなさい。思考のコメントもフォーマットされました。 – seth

+0

gitkは直交です。 – jrockway

答えて

23

答えはgit difftoolです(少なくともgitバージョン1.6.3以降では)。設定済みまたは自動的に見つかったグラフィカルな差分ツールを呼び出すだけであることを覚えておいてください。

+3

例:git difftool --tool = opendiff testbranch master – daniel

+1

"testbranch master"の代わりに、testbranchとmasterの差分を表示する代わりに、 "testbranch"ブランチを見直すと、そのブランチのコミットだけを見たいことがあります。 "master ... testbranch"を使用してください(3つのピリオド)。testbranchが現在のHEADの場合は、これを "master ..."に省略することができます。 –

+0

@JonathanHartley:Diffはコミットの範囲ではなく、常に約2つのエンドポイントです。例えばグラフィカル・リポジトリ・ブラウザ(例えば、 'gitk'(または' git log --graph') 'master ... testbranch'は共通の祖先への両方の枝を表示します。 diff 'master ... testbranch'は、共通の祖先と(私が考える)' testbranch'のdiffのショートカットです。 –

1

マージ処理中の場合、git diffは、最初の2つの列が各行の親子関係を示す、本当に素晴らしい構文を持ちます。一種の統合マージdiffです。そこから、エディタとの競合を簡単に解決できます。

きれいな色が点灯していますか?ここに私の〜/ .gitconfigからの抜粋です:

とにかく
 
[color] 
    diff = auto 
    branch = auto 
    status = auto 
    interactive = auto 

、例えば、KDiff3のを見てみましょう。マージに使用するツールを指定することができます。詳しくは、git-mergetoolドキュメントを参照してください。

+2

"git mergetool"を実行することは正解、FWIWです。 – jrockway

23

私はkompareを使用します。

git diff | kompare - 

kompareはgitのに限定されるものではなく、あなたも

svn diff | kompare - 
bzr diff | kompare - 
diff -Naur clean/ patched/ | kompare - 
kompare bug3.fix.diff 

を行うことがあります...あなたのアイデアを得ます。

+0

ありがとうございます。 'meld'でも動作します。 – elpddev