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]   
  1.     name = liujiuwu   
  2.     email = liujiuwu@gmail.com   
  3. [color]   
  4.         diff = auto   
  5.         status = auto   
  6.         branch = auto   
  7. [alias]   
  8.   st = status   
  9.   rb = svn rebase   
  10.   ci = commit -a   
  11.   co = checkout   
  12. [diff]   
  13.     tool = bc3   
  14. [difftool "bc3"]   
  15.     cmd = \"c:/program files/Beyond Compare 3/BComp.exe\" \"$LOCAL\" \"$REMOTE\"  
  16. [difftool]   
  17.     prompt = false  
  18. [merge]   
  19.     tool = bc3   
  20. [mergetoo"bc3"]   
  21.     cmd = \"c:/program files/Beyond Compare 3/BComp.exe\" \"$LOCAL\" \"$REMOTE\" \"$BASE\" \"$MERGED\"  
  22.     trustExitCode = true  

同理, Ubuntu上的配置如下所示,只需要把bcompare放到PATH的环境变量中:

[diff]
        tool = bc3

[difftool "bc3"]
        cmd = \"bcompare\" \"$LOCAL\" \"$REMOTE\"
posted @ 2011-04-09 11:31  charleszhou  阅读(1267)  评论(0编辑  收藏  举报