一般在使用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平台
当然也还有其它很多的工具,如p4merge ,Beyond Compare …
下面是配置的过程:
1.安装winmerge
2.在c:\Program Files\WinMerge下建一个diff.bat文件,放在其它Path能找到的路径下也可以
#!/bin/sh
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” $*