8
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

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*は不要なはずだが、とりあえずそのままです

  1. GitでWinMergeなどのMerge toolを使用した際に、バックアップ(.orig)を生成しない設定 - みちしるべ

  2. WinMergeで、.bakファイルを出さない方法。 | kimihiko Tech

8
8
0

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
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?