如何配置WinMerge做爲Git的合併工具

前幾天和同窗協同開發的時候遇到了合併衝突問題,git的默認gui又只能Use remote edtionorUse local edtion 沒法進行更加細緻的合併。因此我就想配置一個合併工具。git

搜索了一番決定使用WinMerge,而後就展開了爲期兩天的探索。github

搜索Git和WinMerge就會出來不少配置教程,我嘗試了不少都不行,後來我發現了問題的所在。先說一下我是怎麼作的。windows


個人環境是32位win7+Git-for-windows2.4.5+WinMergebash


  1. 首先安裝好WinMerge,這一步沒什麼好說的,就是點擊下一步就好。記得要點那個把WinMerge添加到環境變量裏的選項,若是沒選的話下一步須要修改profile文件。工具

  2. 而後配置Git Bash的PATH變量,以前不少教程都在說這個PATH可是都不甚詳細。我摸索了一下(怪我本身Linux知識不熟),直接上代碼你們應該能看明白。
    export PATH="$PATH:/c/Program Files/WinMerge/"
    不過還有一個問題就是上面那句命令只能在不關閉bash前生效,能夠去../Git/etc/裏面修改profile文件,在最後一行加上上面那行命令就行。ui

  3. 第三步須要下載其餘文件,因爲個人Git版本是2.4.5,mergetool裏面並無添加對winmerge的支持,可是自從2.5.0以後Git添加了對winmerge的支持,因此我就從Git在github的主頁上下載了最新的源碼,從源碼的/mergetool/目錄下面copy了一份winmerge文件到../Git/mingw32/libexec/git-core/mergetool/下面。若是是Git2.x一下的版本目錄應該是../Git/libexec/git-core/mergetool/code

  4. 完成這三步以後就能夠嘗試一下了,在bash裏面輸入
    git mergetool --tool-help
    這時候bash就會列出可以使用的工具,若是winmerge在可用的那一欄裏,就標誌着能夠用了。這時候還得讓git知道你要用winmerge了。還須要在bash裏面輸入如下命令:
    git config --global merge.tool winmerge教程


可是!可是! 這時候git difftool仍是不能打開winmerge,可是git mergetool已經能夠用winmerge了。更詳細的緣由尚未研究。
不要吐槽是由於沒有設置diff.tool,設置了也不行,因此上面就沒說。開發

相關文章
相關標籤/搜索