使用WinMerge作為git的Merge工具
我比較喜歡使用免費的WinMerge作為diff和merge工具,雖然TortoiseGit也自己帶了TortoiseGitMerge工具,但是使用起來總覺得不是那么方便。
雖然WinMerge項目看起來沒人維護了,最后一個發布打分版本在2013-02-02,但是這個工具使用起來還是相當方便的。我在重裝機器的時候,或者更新Windows的時候,如果需要配置TortoiseGit,總是需要到網上查找如何配置WinMerge,因為長長的命令參數總是記不起來。所以在本文中記錄下來。
作為Diff工具
如果使用WinMerge作為diff工具,需要在TortoiseGit的設置(Setting)對話框中選擇Diff Viewer:

選擇外部工具"External",在輸入框中輸入:
1 |
C:\Program Files (x86)\WinMerge\WinMergeU.exe /s /e /x /ul /ur /wl /dl %bname /dr %yname %base %mine |
如果你已經把C:\Program Files (x86)\WinMerge加入到環境變量Path中了,你可以簡寫成:
1 |
WinMergeU /s /e /x /ul /ur /wl /dl %bname /dr %yname %base %mine |
/s限制WinMerge窗口為單個實例,避免出現多個窗口。
/e允許使用ESC作為退出鍵。
/x如果文件沒有變動則關閉WinMerge窗口。
/ul和/ur不把左右窗口的文件加入到Most Recently Used (MRU)列表。
/wl左邊窗口的文件設為只讀,這樣我們只可以修改右邊的文件。
/dl為左邊的文件指定描述符。
/dr為右邊的文件指定描述符。
%base為左邊窗口打開的文件。
%mine為右邊窗口打開的文件。
作為Merge工具
在TortoiseGit的設置(Setting)對話框中選擇Merge Tool:

1 |
C:\Program Files (x86)\WinMerge\WinMergeU.exe %theirs %mine %merged |
如果你已經把C:\Program Files (x86)\WinMerge加入到環境變量Path中了,你可以簡寫成:
1 |
WinMergeU %theirs %mine %merged |
參考資料
原文鏈接: http://colobu.com/2016/05/10/using-winmerge-with-tortoisegit/
