Configure a merge tool for GitKraken on Windows10

25,015

Solution 1

GitKraken has finally added support for choosing one of the merge tools listed in your .gitconfig file.

enter image description here

Solution 2

ONly solution for GitKraken and Windows 10, which I can use:

Filename: C:\Users\my-name\.gitconfig

Content:

[user]
    email = [email protected]
    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\"

Solution 3

I had the same issue with meld as gitkraken external tool on ubuntu. I resolve that by symbolic link kdiff3 which point on meld binary. gitkraken support kdiff3.

Maybe it will work in the same way on windows. Try to rename meld.exe to kdiff3.exe or make shortcut and add to PATH. Marcin

Solution 4

For meld on 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

Solution 5

It seems that as of right now, GitKraken does not fully support all merge tools configured with git-config right now.

In a comment to one of Axosoft’s blog posts about GitKraken, this was discussed:

A User (February 29, 2016)

Any news when using a mergetool works? Is this yet missing or just bugged? I've configured a working mergetool in git global and it works calling it from console but gitkraken just does nothing when clicking "open in mergetool", not even an error message.


James (mod) (March 3, 2016)

There is a known issue with not being able to find the mergetool set and this will be addressed in an upcoming update!

(For some reason, the Disqus plugin on that blog is not loading correctly right now, so you cannot see those comments. I had to look at a cached version from Google to see that)

So it seems that you will have to wait until a future update for GitKraken to support meld or other merge tools (I also tested Beyond Compare on my machine). If KDiff3 works for you, then I guess you’re lucky and you can use that for the time being.

Share:
25,015

Related videos on Youtube

RabidTunes
Author by

RabidTunes

Hi there you all!

Updated on May 22, 2020

Comments

  • RabidTunes
    RabidTunes about 4 years

    I downloaded GitKraken for working with Git repositories and it works great for everything I need, but I haven't been able to configure it to use a merge tool like WinMerge or Meld.

    When the program sees a conflict it shows up a button which says "Open in merge tool". Since I haven't configured a Merge tool, I head over GitKraken's preferences and checked out the "Merge tool" section. "Git Config Default" option was selected there and I could only choose "None" or "Git Config Default" options.

    I installed Meld for using it with GitKraken, and after that I tried to follow these steps to make it usable within GitKraken's interface, but GitKraken's merge tool choice options haven't changed.

    After running a few commands from those steps and some others trying to make it work my .gitconfig file looks like this:

    [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
    

    I'm not really sure what I did and how to make it work... Anyone can help?

    • RabidTunes
      RabidTunes about 8 years
      I installed KDiff3 and GitKraken detected it with no further configuration. I used it a bit and it works for me, so my problem is solved. Anyway I leave this question here just in case someone can answer it and it helps others.
    • poke
      poke about 8 years
      When you specify meld the default merge tool (as you did in the shown gitconfig, in the merge.tool setting), does GitKraken properly launch meld when merging when you specify “Git Config Default” as the merge tool in GitKraken? Because that’s what’s supposed to happen. I suppose that that setting in GitKraken is a separate thing from the configured Git merge tools, and that GitKraken currently only supports a few specific tools out of the box.
  • RabidTunes
    RabidTunes about 8 years
    In the last update GitKraken team added their own mergetool to the application so I switched to it, but thanks for the advice! I will use it if GitKraken's own mergetool becomes less useful
  • Kunal
    Kunal almost 8 years
    GitKraken's in-app merge tool does not let you edit code before merging whereas kdiff3 does. My 2c
  • poke
    poke over 7 years
    That’s great news!
  • MrDysprosium
    MrDysprosium over 7 years
    How do you get GitKraken to see other merge tools? I have the unity merge tool installed, but it's not in the list on GitKraken.
  • Daniel Saner
    Daniel Saner almost 7 years
    @Kunal It does (now) if you upgrade to the Pro version.
  • Ran Sagy
    Ran Sagy almost 7 years
    Their tool doesn't even do inline change highlighting, and yeah, its for the paid version.
  • Daniel Saner
    Daniel Saner over 6 years
    This seems to be a hard-coded list, and doesn't support just any merge tool you put in .gitconfig. From looking at app.asar, as of version 3.0.1, GitKraken only supports the following: Beyond Compare, FileMerge, Kaleidoscope, and KDiff. The "Git Config Default" option still seems to be broken.
  • Roman Starkov
    Roman Starkov over 6 years
    How do you get GitKraken to see Beyond Compare? It's installed, SourceTree sees it, git mergetool sees it, but GitKraken doesn't list it as an option.
  • itMaxence
    itMaxence over 5 years
    Hey, never saw the keepBackup option, could you explain a bit the effects, and the reason why you added it?
  • Jonathan Hult
    Jonathan Hult over 5 years
    From here: After performing a merge, the original file with conflict markers can be saved as a file with a .orig extension. If this variable is set to false then this file is not preserved. Defaults to true (i.e. keep the backup files).