23

我下载了 GitKraken 以使用 Git 存储库,它适用于我需要的一切,但我无法将其配置为使用 WinMerge 或 Meld 等合并工具。

当程序看到冲突时,它会显示一个按钮,上面写着“在合并工具中打开”。由于我还没有配置合并工具,因此我查看了 GitKraken 的首选项并查看了“合并工具”部分。那里选择了“Git Config Default”选项,我只能选择“None”或“Git Config Default”选项。

我安装了 Meld 以便将它与 GitKraken 一起使用,之后我尝试按照这些步骤使其在 GitKraken 的界面中可用,但 GitKraken 的合并工具选择选项没有改变。

在从这些步骤运行一些命令以及其他一些尝试使其工作之后,我的 .gitconfig 文件如下所示:

[user]
    name = <myname>
    email = <mymail>
[filter "lfs"]
[filter "lfs"]
    clean = git-lfs clean %f
    smudge = git-lfs smudge %f
    required = true
[core]
    autocrlf = true
    excludesfile = C:\\Users\\<myuser>\\Documents\\gitignore_global.txt
[merge]
    tool = meld
[mergetool "meld"]
    path = C:\\Program files (x86)\\Meld\\Meld.exe
[mergetool]
    prompt = false

我不太确定我做了什么以及如何让它发挥作用......任何人都可以提供帮助吗?

4

8 回答 8

15

GitKraken 终于增加了对选择.gitconfig文件中列出的合并工具之一的支持。

在此处输入图像描述

于 2017-01-09T18:09:59.363 回答
7

GitKraken 和 Windows 10 的唯一解决方案,我可以使用:

文件名:C:\Users\my-name\.gitconfig

内容:

[user]
    email = bart@kassaku.nl
    name = Bart Houkes
[merge]
    tool = meld
[mergetool "meld"]
    path = C:/Program Files (x86)/Meld/Meld.exe
    cmd = \"C:/Program Files (x86)/Meld/Meld.exe\" --diff \"$BASE\" \"$LOCAL\" \"$REMOTE\" --output \"$MERGED\"
于 2017-05-30T12:26:53.263 回答
3

目前看来,GitKraken 并不完全支持git-config现在配置的所有合并工具。

对 Axosoft 的一篇关于 GitKraken 的博客文章的评论中,对此进行了讨论:

一位用户 (2016 年 2 月 29 日)

使用合并工具时有什么消息吗?这还没有丢失还是只是被窃听了?我已经在 git global 中配置了一个工作的合并工具,它可以从控制台调用它,但是 gitkraken 在单击“在合并工具中打开”时什么都不做,甚至没有错误消息。


詹姆斯(模组)(2016 年 3 月 3 日)

存在无法找到合并工具集的已知问题,这将在即将到来的更新中解决!

(出于某种原因,该博客上的 Disqus 插件现在无法正确加载,因此您看不到这些评论。我不得不查看 Google 的缓存版本才能看到)

因此,您似乎必须等到 GitKraken 的未来更新以支持融合或其他合并工具(我还在我的机器上测试了 Beyond Compare)。如果 KDiff3 适合你,那么我想你很幸运,你可以暂时使用它。

于 2016-04-16T20:43:11.967 回答
3

我在 ubuntu 上遇到了与 gitkraken 外部工具相同的问题。我通过符号链接 kdiff3 解决了这个问题,它指向 meld 二进制文件。gitkraken 支持 kdiff3。

也许它会在 Windows 上以同样的方式工作。尝试将 meld.exe 重命名为 kdiff3.exe 或创建快捷方式并添加到 PATH。马尔钦

于 2016-12-03T18:26:11.890 回答
3

对于Linux 上的融合:

[merge]
    tool = meld

[mergetool]
    keepBackup = false

[mergetool "meld"]
    path = /usr/bin/meld
    cmd = '/usr/bin/meld' --diff $BASE $LOCAL $REMOTE --output $MERGED
    trustExitCode = false
于 2018-01-29T21:57:19.967 回答
2

我有同样的问题。在 .gitconfig 中试试这个

[merge]
    tool = meld
[mergetool "meld"]
    cmd = "C:\\\\Program Files (x86)\\\\Meld\\\\Meld"

干杯

于 2016-05-13T07:30:44.333 回答
2

对于 diffmerge 的用户,我的 ~/.gitconfig 的这个添加对我有用:

[merge]
tool = diffmerge
[mergetool "diffmerge"]
path = /usr/bin/diffmerge
cmd = /usr/bin/diffmerge \"$LOCAL\" \"$BASE\" \"$REMOTE\" -result \"$MERGED\"
于 2018-09-04T00:45:51.200 回答
0

只是想更新一些...就我而言,我安装了 KDiff3、Beyond Compare & Meld 并重新启动了我的窗口 10。但我仍然没有在下拉框中得到选项。但我意识到我实际上安装到了我的 Z 驱动器(这是我用于编程工具的 SSD 驱动器)。

So I tried to remove and install back (KDiff3) to the default path C:\Program Files\KDiff3

你猜怎么了?我终于把它放到了下拉列表中。我没有尝试其他两个,但我想当您安装到(可能)另一个驱动器或路径时可能会发生这种情况。

于 2019-05-22T04:22:38.180 回答