コマンドラインからDIFFMERGEを起動してファイルの差分を確認する

SourceTreeなどを使えばGUIで差分のあるファイルを確認したり、GUIのDiffツールを起動したりと便利なのですが、ファイル数が数万とかあるとどうも不安定というか、調子が悪いんですよね。
コマンドラインでgit diffしてもいいんですが、その場で修正は出来ないのでいい方法がないかと探していた所git difftoolなるコマンドを使えば良いらしいと分かりました。
ただし、デフォルトではFileMergeが起動するのですが、イマイチ使いにくいんで、DIFFMERGEが起動するよう設定します。

Merge(git mergetool)用の設定

$ git config --global merge.tool diffmerge
$ git config --global mergetool.keepBackup false
$ git config --global mergetool.diffmerge.cmd "diffmerge --merge --result=\$MERGED \$LOCAL \$BASE \$REMOTE"
$ git config --global mergetool.diffmerge.trustExitCode true

 

Diff(git difftool)用の設定

$ git config --global diff.tool diffmerge
$ git config --global difftool.diffmerge.cmd "diffmerge \$LOCAL \$REMOTE"

cat ~/.gitconfig 等にて、設定が反映されているか確認します。

使い方

コマンドラインで編集している(差分がある)ファイルを指定します。
ファイルを指定しない場合は、差分のあるファイルを順次Launchするか聞かれます。

$ git difftool modifiedFile.php
Viewing: 'modifiedFile.php'
Launch 'diffmerge' [Y/n]:

yまたはエンターでDIFFMERGEが起動します。

参考

こちらを参考にさせて頂きました。ありがとうございます!
http://qiita.com/awakia/items/a07416d5b5957ff96165