Git下使用Beyond Compare作為比較和合並工具
原文:https://sinojelly.blog.51cto.com/479153/633495
配置方法
建議配置在~/.gitconfig中。
Linux下
[diff]
tool = bc3
[difftool]
prompt = false
[merge]
tool = bc3
[mergetool]
prompt = false
tool = bc3
[difftool]
prompt = false
[merge]
tool = bc3
[mergetool]
prompt = false
[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\"
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也是類似。
git difftool
git mergetool
BC官方網站關於集成版本管理係統的介紹(必要時可參考,比如上麵的介紹並不適合你所用的git版本時)
GIT官方網站的幫助(非常有用)
最後更新:2017-04-02 06:52:09