一般在使用git
diff时,看到的是console下的对比提示。 如果使用基于GUI的diff工具将会更加直观,提高效率。
Linux平台
选择的是p4merge , 下载路径:
http://www.perforce.com/perforce/downloads/index.html
下载完成后,直接解压缩到 /usr/local/program/p4merge 目录
git diff配置
1.
创建相应脚本gitmerge.sh脚本:
#!/bin/sh /usr/local/program/p4merge/bin/p4merge $* gitdiff.sh脚本: #!/bin/sh [ $# -eq 7 ] && gitmerge.sh "$2" "$5"
2.
配置git diff/merge命令git
config --global merge.tool gitmerge git config --global mergetool.gitmerge.cmd 'gitmerge.sh "$BASE" "$LOCAL" "$REMOTE" "$MERGED"'
git config --global mergetool.trustExitCode false
git config --global diff.external gitdiff.sh
or 直接 vi
~/.gitconfig [merge] tool = gitmerge
[mergetool "gitmerge"] cmd = gitmerge.sh \"$BASE\" \"$LOCAL\"
\"$REMOTE\" \"$MERGED\" [mergetool] trustExitCode = false [diff] external = gitdiff.sh
windows平台
对于Windows下的Msysgit,推荐使用winmerge,下载地址:http://winmerge.org/
当然也还有其它很多的工具,如p4merge ,Beyond Compare …下面是配置的过程: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” $*