git mergetool difftool 设置
1. 设置bc3 或者bc4
win:
git config --global merge.tool bc4
git config --global mergetool.bc4.path "D:\work\Software\beyondcomparev4.4.1\BCompare\BComp.exe"
git config --global diff.tool bc4
git config --global difftool.bc4.path "D:\work\Software\beyondcomparev4.4.1\BCompare\BComp.exe"
注意是BComp.exe 的路径。
2. 设置diffmerge
首先要下载diffmerge
win:
C:\> git config --global diff.tool diffmerge
C:\> git config --global difftool.diffmerge.cmd
"C:/Program\ Files/SourceGear/Common/DiffMerge/sgdm.exe
\"$LOCAL\" \"$REMOTE\""
C:\> git config --global merge.tool diffmerge
C:\> git config --global mergetool.diffmerge.trustExitCode true
C:\> git config --global mergetool.diffmerge.cmd
"C:/Program\ Files/SourceGear/Common/DiffMerge/sgdm.exe
-merge -result=\"$MERGED\" \"$LOCAL\" \"$BASE\" \"$REMOTE\""
对于比较参数参数,我们有:
$LOCAL
,这是原始文件。$REMOTE
,即修改后的文件。
ubuntu :
git config --global merge.tool diffmerge
git config --global mergetool.diffmerge.cmd "/usr/bin/diffmerge --merge --result=\"\$MERGED\" \"\$LOCAL\" \"\$BASE\" \"\$REMOTE\""
git config --global mergetool.diffmerge.trustExitCode true
git config --global mergetool.keepBackup false
git config --global diff.tool diffmerge
git config --global difftool.diffmerge.cmd "/usr/bin/diffmerge --nosplash \"\$LOCAL\" \"\$REMOTE\""
这样就可以通过:
$ git mergetool
$ git difftool
命令来使用了。
设置 Meld
linux:
git config --global diff.tool meld
git config --global difftool.meld.path"/usr/bin/meld"
git config --global difftool.prompt false
git config --global merge.tool meld
git config --global mergetool.meld.path"/usr/bin/meld"
git config --global mergetool.prompt false
win:
git config --global diff.tool meld
git config --global difftool.meld.path"C:\Program Files (x86)\Meld\Meld.exe"
git config --global difftool.prompt false
git config --global merge.tool meld
git config --global mergetool.meld.path"C:\Program Files (x86)\Meld\Meld.exe"
git config --global mergetool.prompt false
上面就的可以用了,但是默认是 base,local, remote的形式,其实实际上,我们不用关心base
打开.gitconfig 编辑下面如下
[merge]
tool = meld
[mergetool "meld"]
cmd = "\"C:/Program Files/Meld/Meld.exe\" \"$LOCAL\" \"$MERGED\" \"$REMOTE\" --output=\"$MERGED\""
trustExitCode = true
[diff]
tool = meld
[difftool "meld"]
cmd = "\"C:/Program Files/Meld/Meld.exe\" \"$LOCAL\" \"$REMOTE\""