Kdiff3不会使用mergetool命令打开

iKo*_*ode 23 git kdiff3 git-bash

我有冲突,所以我键入:

git mergetool
Run Code Online (Sandbox Code Playgroud)

然后我收到一条消息说:

点击返回以启动合并解析工具

通常当我这样做时,它打开kdiff3,所以我可以合并差异.

现在,当我这样做时,它只是继续到下一个文件,并且kdiff3根本不打开.

我三倍感谢我的git配置和我的系统路径,一切看起来都很完美.配置文件如下:

 [merge]
    tool = kdiff3
 [mergetool "kdiff3"]
    path = c:/Program Files (x86)/KDiff3/kdiff3.exe
 [diff]
    guitool = kdiff3
 [difftool "kdiff3"]
    path = c:/Program Files (x86)/KDiff3/kdiff3.exe
 [core]
    editor = \"C:/Program Files (x86)/GitExtensions/GitExtensions.exe\" fileeditor   autocrlf = true
 [user]
    name = James Farrell
    email = info@jamespfarrell.com
 [github]
    user = whygosystems
    token = 87d00c2e613b3a7c8c1be817b75b8a33
 [diff]
    external = C:/Program Files (x86)/Git/cmd/git-diff-wrapper.sh
Run Code Online (Sandbox Code Playgroud)

任何人有任何想法可能是错的?

我有一种感觉(虽然我可能是错的,这是一个问题,因为我安装了新的Github Windows客户端)....

Dan*_*Dan 21

我意识到这是旧的,但对于未来的googlers,KDiff3也有一个选项,如果合并是微不足道的,它将默默地解决它,甚至从未显示窗口.

我过去曾经遇到过这种情况,所以它可能正在发生在你身上.我认为该选项被称为"自动保存并退出合并而不会发生冲突".

  • 这个选项确实是culprid,但它总是被触发,因为git使用`--auto`标志调用`kdiff3`,所以它无助于禁用kdiff3中的选项.有关解决方法,请参阅我的回答[类似问题](http://stackoverflow.com/a/15813064/1132850). (3认同)

小智 5

我有一段时间没在Windows上使用git,但你的配置文件显示了一些有趣的差异:程序字符串.

[core]
    editor = \"C:/Program Files (x86)/GitExtensions/GitExtensions.exe\" fileeditor   autocrlf = true
Run Code Online (Sandbox Code Playgroud)

VS

[difftool "kdiff3"]
    path = c:/Program Files (x86)/KDiff3/kdiff3.exe
Run Code Online (Sandbox Code Playgroud)

我怀疑程序名称中的空格可能存在一些问题.尝试将diff/mergetool可执行路径设置为:

path = \"c:/Program Files (x86)/KDiff3/kdiff3.exe\"
Run Code Online (Sandbox Code Playgroud)