git 在 windows上自定义比较、合并工具(Beyond Compare)
在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 = svn rebase
ci = commit -a
co = checkout
[diff]
tool = bc3
[difftool "bc3"]
cmd = \"c:/program files/Beyond Compare 3/BComp.exe\" \"$LOCAL\" \"$REMOTE\"
[difftool]
prompt = false
[merge]
tool = bc3
[mergetool "bc3"]
cmd = \"c:/program files/Beyond Compare 3/BComp.exe\" \"$LOCAL\" \"$REMOTE\" \"$BASE\" \"$MERGED\"
trustExitCode = true