Git默认使用自己的diff来比较合并版本的
但它也能配置外部的工具来完成
对于Windows下的Msysgit,推荐使用winmerge
当然也还有其它很多的工具,如p4mergeBeyond Compare...
在Linux下我们可以使用vimdiff来代替

下面是配置的过程:
1.安装winmerge
2.在c:\Program Files\WinMerge下建一个diff.bat文件,放在其它Path能找到的路径下也可以

#!/bin/sh
"c:\Program Files\WinMerge\WinMergeU.exe" "$2" "$5"


3.配置git

git config --global diff.external diff.bat


然后,再使用git diff时,就会自动打开winmerge,可视化的显示文件的差别了

如果要配置git merge使用外部的工具,以p4merge为例,需要设置

git config --global merge.tool extMerge
git config --global mergetool.extMerge.cmd \
'extMerge "$BASE" "$LOCAL" "$REMOTE" "$MERGED"'
git config --global mergetool.trustExitCode false


以下是extMerge的内容

#!/bin/sh
"c:\Program Files\Perforce\p4merge.exe" $*