LoginSignup
8

More than 5 years have passed since last update.

Git で WinMerge するときの設定+α

Last updated at Posted at 2016-02-04

git の差分比較・マージを WinMerge で行うなどの設定を参照することで、WindowsのgitでWinMergeで比較、マージできるようになりますが...

自分の環境では以下の問題があり、その点についてさらに別の設定で対応可能でした。

問題とは

  1. ファイルのバックアップとして.origというファイルが生まれる(正確にはマージ成功後に削除されてない)
  2. ファイルのバックアップとして.bakというファイルが生まれる

git(SCM)なので、ここでこれらのファイルは不要と言えます。

1.についてはgit側が生成しているので、参考1にして以下の設定を入れます。

shell
> git config --global mergetool.keepBackup false

これで成功後に削除されます。

2.についてはWinMerge側の設定なので、参照2を元に、WinMergeのオプションを変えてしまうことで対応できます。
難点は普通に使う時にバックアップファイルを出力してくれなくなりますが...

当方の現在の最終的な設定は以下です。WinMerge日本語版かつtool指定デフォルトにしています。

.gitconfig
[merge]
    tool = WinMerge

[mergetool]
    prompt = false
    keepBackup = false

[mergetool "WinMerge"]
    path = C:/Program Files/WinMerge/WinMergeU.exe
    cmd = \"C:/Program Files/WinMerge/WinMergeU.exe\" -e -u -wl -wr \"$LOCAL\" \"$BASE\" \"$REMOTE\" -o \"$MERGED\"
    trustExitCode = false

[diff]
    tool = WinMerge
    guitool = WinMerge

[difftool]
    prompt = false

[difftool "WinMerge"]
    path = C:/Program Files/WinMerge/WinMergeU.exe
    cmd = \"C:/Program Files/WinMerge/WinMergeU.exe\" -f \"*.*\" -e -x -ub -wl -dl \"Base\" -dr \"Mine\" \"$LOCAL\" \"$REMOTE\"
    trustExitCode = false

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

alias-yは不要なはずだが、とりあえずそのままです

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8