gitの差分比較をWinMergeでしたい!


~/.gitconfig に、以下を追加。どこぞからの拾い物。

[diff]
    tool = WinMerge

[difftool]
    prompt = false

[difftool "WinMerge"]
    path = C:/Program Files/WinMerge/WinMergeU.exe
    cmd = \"C:/Program Files/WinMerge/WinMergeU.exe\" -e -r -u -x -wl -wr -dl \"a/$MERGED\" -dr \"b/$MERGED\" \"$LOCAL\" \"$REMOTE\"
    trustExitCode = false

[merge]
    tool = WinMerge

[mergetool]
    prompt = false
    keepBackup = false

[mergetool "WinMerge"]
    cmd = \"C:/Program Files/WinMerge/WinMergeU.exe\" \"$MERGED\"
    trustExitCode = false

[alias]
    windiff = difftool -y -d -t WinMerge
    winmerge = mergetool -y -t WinMerge

そして、git bashとかのコマンドラインから、

git windiff

で、最新コミットとローカルで編集したファイルとの比較

git windiff HEAD HEAD^

で、最新コミットとその1つ前の比較

をWinMergeが立ち上がってきて、ディレクトリ単位でやってくれる。
-d をオプションに付けないと、ファイル1個毎にWinMergeが立ちあがってくるブラクラ状態になるので注意(笑)