【发布时间】:2023-02-01 21:23:23
【问题描述】:
最近我一直在尝试将 KDiff3 设置为 mergetool。所以我获取了程序,安装了它并想将它设置为 GIT 差异和合并工具。
为此,我执行了命令:
git config --global merge.tool kdiff3
git config --global mergetool.kdiff3.path "C:/Program Files/KDiff3/bin/diff3.exe"
git config --global mergetool.kdiff3.trustExitCode false
git config --global diff.guitool kdiff3
git config --global difftool.kdiff3.path "C:/Program Files/KDiff3/bin/diff3.exe"
git config --global difftool.kdiff3.trustExitCode false
哪个正确地将我的配置文件设置为:
[user]
email = turek1992@o2.pl
name = Michal Turczyn
[merge]
tool = kdiff3
[mergetool "kdiff3"]
path = C:/Program Files/KDiff3/bin/diff3.exe
trustExitCode = false
[diff]
guitool = kdiff3
[difftool "kdiff3"]
path = C:/Program Files/KDiff3/bin/diff3.exe
trustExitCode = false
...现在我在我的分支中引起了冲突,试图打开 mergetool 只显示了这个:
如果我按y,文件仍然带有 GIT 冲突标记,如果我按n,它只会中止合并。
无论我是否使用,都会发生这种情况
git mergetool --tool kdiff3
或者
git mergetool
注意:出于这些目的,我一直使用 VS,它工作得很好。
问题: 如何让它工作,以便 KDiff3 正确地拾取 confilted 文件并让我管理它,就像它应该的那样。
【问题讨论】:
-
fwiw:kdiff3 有一个包含在 git 中的标准配置,你不需要指定
mergetool.kdiff3.*和difftool.kdiff3.*选项 -
从您的问题中不清楚:kdiff3 是否完全打开?使用 3 路合并视图?
-
@LeGEC 什么都没发生。当然,我可以去安装目录打开它,但我希望它在输入控制台后默认打开
git mergetool -
如果删除两个
[mergetool "kdiff3"]和[difftool "kdiff3"]部分,它会起作用吗? -
另外:请更新您的问题以明确调用
git mergetool不会打开编辑器(如果 kdiff3 已启动,您显示的终端部分将相同)