git のマージツールを設定する

会社で導入したら、周りの人間に使い方理解できないとか、意味不明なことを言われている git ですが、マージツールとかを使いやすいものに替えるだけでも障壁を下げれるのかと思いその辺の設定をまとめておきます。


マージツールのオススメは、マルチプラットフォームで動く Perforce Visual Merge and Diff Tools (p4merge) です。
こいつを git のマージツールとして設定します。


Mac前提でまとめますが、他の環境でも同じなので多分問題ないです。
まず、p4merge をインストール。
Macなので /Application にドロップするだけ。


次に、以下のようなシェルを書きパスが通ったディレクトリに保存して実行権を付けておきます。
Linuxとかなら P4MERGE 変数をインストールした p4merge コマンドに書き替えるだけ。

  • p4merge
#!/bin/sh

P4MERGE=/Applications/p4merge.app/Contents/MacOS/p4merge

${P4MERGE} $*
  • p4diff
#!/bin/sh

P4MERGE=/Applications/p4merge.app/Contents/MacOS/p4merge

[ $# -eq 7 ] && ${P4MERGE} "$2" "$5"


次に、git のグローバルコンフィグに以下のエントリを足して、git mergetool で使うツールとして p4merge を指定します。

  • ~/.gitconfig
[merge]
    keepBackup = false;
    tool = p4merge
[mergetool "p4merge"]
    cmd = p4merge "$BASE" "$LOCAL" "$REMOTE" "$MERGED"
    keepTemporaries = false
    trustExitCode = false
    keepBackup = false
[diff]
    external = p4diff


これで、git mergetool でグラフィカルにサクサクマージしましょう。