閱讀361 返回首頁    go 阿裏雲 go 技術社區[雲棲]


Git下使用Beyond Compare作為比較和合並工具

原文:https://sinojelly.blog.51cto.com/479153/633495

配置方法

建議配置在~/.gitconfig中。
Linux下
[diff]
    tool = bc3
[difftool]
    prompt = false
[merge]
    tool = bc3
[mergetool]
    prompt = false
 
cygwin下
[diff]
    tool = jellybc3
[difftool]
    prompt = false
[difftool "jellybc3"]
    #use cygpath to transform cygwin path $LOCAL (something like /tmp/U5VvP1_abc) to windows path, because bc3 is a windows software
    cmd = \"/cygdrive/c/program files/beyond compare 3/bcomp.exe\" \"$(cygpath -w $LOCAL)\" \"$REMOTE\"
[merge]
    tool = jellybc3
[mergetool]
    prompt = false
[mergetool "jellybc3"]
    #trustExitCode = true
    cmd = \"/cygdrive/c/program files/beyond compare 3/bcomp.exe\" \"$LOCAL\" \"$REMOTE\" \"$BASE\" \"$MERGED\" \"$MERGED\"
 
注意:
1、diff工具的命名,如果用bc3,那麼git會采用它內置的對bc3的理解來進行調用,不會調用cmd指定的。
     Linux上使用內置的比較方便,但cygwin上,$LOCAL不轉換為Windows路徑,會發現BC隻打開了一個文件。
2、注意引號需要轉義,否則git調用時會出錯。
3、根據上麵的推理,如果在Linux下配置,應該隻需要配置diff.tool為bc3,並且把bc可執行文件路徑加入path環境變量即可(也可以配置在difftool.bc3.path中)。merge也是類似。
 
使用方法查看diff
git difftool
 
使用bc解決衝突
git mergetool
 
參考資料
BC官方網站關於集成版本管理係統的介紹(必要時可參考,比如上麵的介紹並不適合你所用的git版本時)
https://www.scootersoftware.com/support.php?c=kb_vcs.php
 
GIT官方網站的幫助(非常有用)
https://www.kernel.org/pub/software/scm/git/docs/git-difftool.html

最後更新:2017-04-02 06:52:09

  上一篇:go Redmine配置Gmail
  下一篇:go tolower <ctype.h> <cctype>