混帐 - 设置KDiff3作为默认的合并工具
管理冲突git
,仍然是默认安装KDiff3
后一个是开放对我来说:混帐 - 设置KDiff3作为默认的合并工具
下面是在这个answer提到的配置:
git config --global --add merge.tool kdiff3
git config --global --add mergetool.kdiff3.path "C:/Program Files/KDiff3/kdiff3.exe"
git config --global --add mergetool.kdiff3.trustExitCode false
git config --global --add diff.guitool kdiff3
git config --global --add difftool.kdiff3.path "C:/Program Files/KDiff3/kdiff3.exe"
git config --global --add difftool.kdiff3.trustExitCode false
NOTE:我可以用简单的文件单独运行KDiff3
,但是我无法运行它我的git项目。任何想法?
编辑:这里是我的.gitconfig:
[user]
email = [email protected]
name = vahid najafi
[diff]
tool = kdiff3
guitool = kdiff3
[merge]
tool = diffmerge
tool = kdiff3
tool = kdiff3
[mergetool "diffmerge"]
trustExitCode = true
[mergetool "kdiff3"]
path = C:/Program Files/KDiff3/kdiff3.exe
trustExitCode = false
[difftool "kdiff3"]
path = C:/Program Files/KDiff3/kdiff3.exe
trustExitCode = false
最后我做了另一个解决方案!我用meld
而不是kdiff3
。首先从here下载meld。然后在C更改配置为meld
:/Users/yourName/.gitconfig:
[user]
email = [email protected]
name = vahid najafi
[diff]
tool = meld
[difftool "meld"]
path = C:/Program Files (x86)/Meld/meld/meld.exe
[difftool]
prompt = false
[merge]
tool = meld
[mergetool "meld"]
path = C:/Program Files (x86)/Meld/meld/meld.exe
[mergetool]
keepBackup = false
注:尝试使用,而不是Windows cmd
混帐cmd
。当你有冲突时,运行:git mergetool
。有关更多详细信息和示例,请参阅here。
我不知道kdiff3
,但您可能需要您要比较的文件添加到您的工具调用作为参数(参见命令行选项为KDiff3调用here)。在全局配置(通过git config --global -e
访问),各行应该是这个样子:
[merge]
tool = kdiff3
[mergetool "kdiff3"]
trustExitCode = false
cmd = 'C:/Program Files/KDiff3/kdiff3.exe' "$LOCAL" "$BASE" "$REMOTE" "$MERGED"
由于我没有尝试这与KDiff3,您可能需要切换"$LOCAL" "$BASE" "$REMOTE"
和"$MERGED"
变量的顺序,但this后期应该提供足够的附加更多信息。虽然它是关于Meld工具的,但我很确定处理是类比的,并且有一些非常好的和翔实的答案。
编辑: 假设你使用Windows:你可以找到它在Windows资源管理器,通常在c:\user\yourusername\.gitconfig
,并用任何编辑器打开它。在Linux中,请参阅this post。然后,用以下替换所有merge
,mergetool
和difftool
部分:
[merge]
tool = kdiff3
[mergetool "kdiff3"]
cmd = "C:/Program Files/KDiff3/kdiff3.exe" "$LOCAL" "$BASE" "$REMOTE" "$MERGED"
trustExitCode = false
[difftool "kdiff3"]
cmd = "C:/Program Files/KDiff3/kdiff3.exe" "$LOCAL" "$BASE" "$REMOTE" "$MERGED"
trustExitCode = false
如果OT不起作用,有可能是你必须改变"$LOCAL" "$BASE" "$REMOTE"
和"$MERGED"
变量的顺序或删除其中的一个。您可以在上面提供的链接中找到足够的信息。
谢谢。我运行'git config --global -e',但是这个部分不存在:''$ LOCAL“”$ BASE“”$ REMOTE“”$ MERGED“' –
是的,我期望的那么多。您应该添加它以确保KDiff3被正确的文件调用。 – kowsky
我应该如何添加?因为我对此很新。 –