在windows上就选Beyond Compare来作比较和合并工具吧。
Beyond Compare官方给出来多个版本工具的配置方案。
http://www.scootersoftware.com/support.php?c=kb_vcs.php
Git for Windows
Note: If you use the Git for Windows' Bash Command Prompt instead of the default Windows Command Prompt, you need to escape the $ character with */$*.
Diff
At a command prompt enter the commands:
git config --global diff.tool bc3
git config --global difftool.bc3.cmd "/"c:/program files/beyond compare 3/bcomp.exe/" /"$LOCAL/" /"$REMOTE/""
git config --global difftool.prompt false
To launch a diff with BC3, use the command "git difftool foofile.txt".
3-Way Merge (v3 Pro)
At a command prompt, enter the commands:
git config --global merge.tool bc3
git config --global mergetool.bc3.cmd "/"c:/program files/beyond compare 3/bcomp.exe/" /"$LOCAL/" /"$REMOTE/" /"$BASE/" /"$MERGED/""
git config --global mergetool.bc3.trustExitCode true
To launch a 3-way merge with BC3, use the command "git mergetool foofile.txt".
需要注意的是在配置
git config --global difftool.bc3.cmd "/"c:/program files/beyond compare 3/bcomp.exe/" /"$LOCAL/" /"$REMOTE/""
和
git config --global mergetool.bc3.cmd "/"c:/program files/beyond compare 3/bcomp.exe/" /"$LOCAL/" /"$REMOTE/" /"$BASE/" /"$MERGED/""
这个的时候会丢失 $引用的变量,所以最好还是检查一下配置文件的配置是否正确。
我的配置文件:
[user]
- name=liujiuwu
- email=liujiuwu@gmail.com
- [color]
- diff=auto
- status=auto
- branch=auto
- [alias]
- st=status
- rb=svnrebase
- ci=commit-a
- co=checkout
- [diff]
- tool=bc3
- [difftool"bc3"]
- cmd=/"c:/programfiles/BeyondCompare3/BComp.exe/"/"$LOCAL/"/"$REMOTE/"
- [difftool]
- prompt=false
- [merge]
- tool=bc3
- [mergetool"bc3"]
- cmd=/"c:/programfiles/BeyondCompare3/BComp.exe/"/"$LOCAL/"/"$REMOTE/"/"$BASE/"/"$MERGED/"
- trustExitCode=true
同理, Ubuntu上的配置如下所示,只需要把bcompare放到PATH的环境变量中:
[diff]
tool = bc3
[difftool "bc3"]
cmd = /"bcompare/" /"$LOCAL/" /"$REMOTE/"