如何配置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,设置了也不行,因此上面就没说。开发

相关文章
相关标签/搜索