git の差分比較ツールに WinMerge を使用する方法
Windows限定だが、git の差分比較ツールに WinMerge を使用する方法のメモ
参考: git の差分比較・マージを WinMerge で行う
↑参考というよりパクリだが(^^ゞ
git の差分比較の git diff
で見ると見難いので、WinmMergeを使えるようにしてみた。
普段はVS Code 使ってるけど…
手順は、 C:\Users\〇〇\.gitconfig
に以下を追記するだけ。
[diff]
tool = WinMerge
[difftool "WinMerge"]
path = C:/Program Files/WinMerge/WinMergeU.exe
cmd = \"C:/Program Files/WinMerge/WinMergeU.exe\" -f \"*.*\" -e -u -r \"$LOCAL\" \"$REMOTE\"
[merge]
tool = WinMerge
[mergetool "WinMerge"]
path = C:/Program Files/WinMerge/WinMergeU.exe
cmd = \"C:/Program Files/WinMerge/WinMergeU.exe\" -e -u \"$LOCAL\" \"$REMOTE\" \"$MERGED\"
[alias]
windiff = difftool -y -d -t WinMerge
winmerge = mergetool -y -t WinMerge
差分比較したいときに git windiff
と入力すれば良い。
差分はファイル書き換えても自動的にアップデートされなので、都度git windiff
する必要がある。
(あくまでスナップショットでの比較を表示してるだけ)
比較対象の指定とか、マージとかもできるみたいだけど、使ってないので、詳しくは↑の参考先を見てね。(^^ゞ
Windows上の場合とほぼ同じ。~/.gitconfig
に以下を追加しておき、差分比較したいときに git windiff
と入力する。
マージは使わないので、diffだけ設定。
(上の方法をwslpathでLinux上のpath→Windows上のpath 変換してるだけ、かな?)
[diff]
tool = WinMerge
[difftool]
prompt = false
[difftool "WinMerge"]
cmd = '/mnt/c/Program Files/WinMerge/WinMergeU.exe' -e -r -u -wl -dl Local -wr -dr Remote \"`wslpath -wa $LOCAL`\" \"`wslpath -wa $REMOTE`\"
trustExitCode = false
[alias]
windiff = difftool -y -d --no-symlinks -t WinMerge
参考:WSL(Ubuntu 18.04)環境のgitでWinMergeを使う方法
参考先ではUbuntu18.04となっているが、20.04でも問題なし。
また、/mnt/c/Users/username
以下で作業と書いてあるが、どこで作業しても大丈夫。テンポラリパスの変更も不要。