Mac用gitマージ,diffツール p4mergeのインストール

Xcode4よりgitが簡単に使えるようになったのですが、
どうもバグが沢山あって使い物になりません。
具体的にはマージ中に落ちたりとか、ベータ版はリモートブランチのpull,pushができないとか。


そこで、別途マージツールをインストールしてみました。
p4mergeです。
http://www.perforce.com/product/components/perforce_visual_merge_and_diff_tools


まずは公式サイトにいってアプリを落とします。
Downloadsをクリック。

自分のプラットフォームにあったものを選択。
自分はintelMacなのでこれで。

ダウンロードしたファイルはdmgなのでダブルクリックして展開。
展開したものはアプリケーションフォルダにそのまま突っ込みます。


ダウンロードした後は、p4mergeとp4diffのコマンドを作ります。
echo $PATH
でもしてパスの通ったフォルダを調べて、そこにコマンドを2つ作ります。
作るコマンドは以下サイトを参照。
.gitconfigもホームフォルダにおいておきましょう。
git のマージツールを設定する - XANADU - the infinity code...

作ったら実行権限を与えます。

chmod +x p4merge
chmod +x p4diff

使い方
コンフリクトをわざと起こさせてマージしてみます。

メインブランチ

サブブランチ

上記の2つをマージするとコンフリクトがおきます。
するとマージツールなにつかうの?って聞いてくるのでp4mergeを指定しましょう。

p4mergeが立ち上がります。


主に使うのは赤丸のつけたところですねー。
上のビューにある3つの列は各々、ベースは直前のコミット、ローカルは現在のブランチ、リモートは別ブランチ(マージするコミット)だと思われます。
右下のボタンはShift押しっぱなしでクリックすれば複数選択できます。

まとめ
Xcodeのgit対応はなんだか不安定なのでp4merge使ってみたわけですが、使い勝手はよくメインとして使っていけるレベルです。
自分は最後の確認にのみXcodeを使う感じで使っています。


Windows,Mac,Linuxどれでも対応しているのもいいですね。
Xcodeのマージツール、diffツールの不安定さに泣かされている方にはお勧めします。