When comparing Kdiff3 vs GitKraken Client, the Slant community recommends Kdiff3 for most people. In the question“What are the best visual merge tools for Git?” Kdiff3 is ranked 4th while GitKraken Client is ranked 6th. The most important reason people chose Kdiff3 is:
For modern version control systems, 3way merge support is a basic requirement, but many other open source diff viewers do not adequately handle 3way merges.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Supports 3 way merges
For modern version control systems, 3way merge support is a basic requirement, but many other open source diff viewers do not adequately handle 3way merges.
Pro Free and open source
KDiff3 is completely free to download and use. It's also open source released under the GPL.
Pro Can compare directories
It is able to compare whole directory trees.
Pro Supports editing files directly
In addition to comparing two files it also allows you to edit the merge result right in place.
Pro Diff by character not by lines
On comparing two files, difference is shown by characters; not by lines.
Pro The UI is customizable
Allow customizing colors regardless of user/system theme.
Pro Supports manual code aligning
With selecting code in one window and hitting Ctrl+Y, then selecting some other code in second window and also hitting Ctrl+Y you can manually align the code.
Pro Preprocessing before calculating differences
There are options that may pre-process compared files before Kdiff3 actually do a comparison - to ignore for example automatically generated dates and/or revision numbers added by commit hooks.
Pro Context menu shortcut
You can right-click a folder/file and the options:
- Save <file> for later
- Compare with
will be available, making launching KDiff3 really convenient.
Pro Beautiful user interface
It's modern and beautiful, it looks clean and refined.
It's simple: the most used features (pull, push, branch, stash, commit) are accessible in one click, and are the only buttons. The other features aren't in complicated menus nor in hundreds of buttons, but rather displayed when you right-click on something.
It gives more space to the commits, i.e. the most important things. In fact, you can collapse or reduce the other menus/windows.
It displays the current path (project, branch) on an horizontal (clickable) bar at the top. It's just a matter of taste but I prefer this to the traditional "tree" view.
It has undo and redo buttons on the main window.
It supports some drag-and-drop gestures (for example: drag-and-droping the local branch to the remote one pushes it).
Pro Extremely easy to use
A lot of care has gone into trying to make GitKraken as easy and intuitive as possible and it show. Every action is quick and painless with no more user interaction than necessary. For example, switching to another branch is as easy as a double-click on the sidebar.
Pro Cross-platform
Built on top of Electron, so it runs on Linux, Mac, and Windows.
Pro Offers a simple way of undoing mistakes
GitKraken has simple undo/redo buttons that work the same way you'd expect in any other software.
Pro Some of the best integration with hosted version control services
GitKraken can be connected to Github, Gitlab, or Bitbucket accounts through OAuth. From that point onward most if not all actions that are related to these services can be done inside GitKraken. Things like: cloning or forking a repository, adding a remote, pushing to a remote repository hosted on these services can be done inside the app.
You can even manage pull requests inside GitKraken for example. All pull requests for a certain branch for example are shown on that branch's graph.
Pro Free version available
There are both pro and free versions available. The free version is pretty complete feature-wise for day-to-day operations.
Pro Under constant improvement
A quick glance at GitKraken's release notes shows how frequently it's updated. Updates are released on a 2-4 week cycle and each one brings new features and bug fixes.
Pro GitFlow support out of the box
Supports GitFlow out of the box.
Pro Has a FuzzyFinder
GitKraken has a fuzzy finder to switch between repos/files.
Pro Perfect for beginner developers
GitKraken is easy to use and is brilliant for the beginner developers.
Pro Has a dark theme
No more eyestrain staring at white screens - GitKraken has a lovely dark theme.
Pro Good keyboard shortcuts
Cons
Con Cannot do inline diffs
Comparison of 2 files is always side-by-side and there's no option for inline views. Overall a rather poor and confusing UI in general.
Con Confusing GUI
4 sub-windows (when you really only need 3), a lot of different colors and even more confusing result-window. No links what has changed between versions and and the result. It clearly shows it's dated or rather outdated. Great if you ever need to do a command line merge, otherwise it sucks.
Con No precise editing of the compared files
Precise work line-after-line is not possible. Only a version after the automated merge-step is editable, but not the two files separately.
Con No longer supported by Homebrew for MacOS
Cannot be installed easily on Mac as of Aug 2019.
Con Problems when files have different number of lines
For example, if you add 3 lines: A, B and C locally but on the other change there are only A and C, Kdiff3 will work out that A was added, then it says that B conflicts with C but adds C again anyway.
Con Slow for large files
Con No image compare
Compare is text based.
Con No longer free for use with private repos
You can use GitKraken for free if you're working on a public hosted repo, but you can no longer work on a private hosted one without paying.
Con Slow
Can take between 2 and 5 seconds to load a repository, if not crashing while loading
Con Must log into GitKraken servers to use the free version
All functionality is disabled unless you register for a free account and remain logged in.
There is the $99/user/yr Enterprise option. It allows you to deploy a Linux License Server in an air-gapped/offline environment.
Con Has memory-related issues
Like most Electron apps, GitKraken has some memory-related issues. For starter, it requires more memory for an action than an equivalent non-Electron application. Although this should not be a problem most of the time for people who use machines with lots of RAM (after all, RAM is pretty cheap nowadays), it can have some issues when opening large repositories and there have been cases where GitKraken failed to open very large repositories or started lagging once they were opened.
Con Not open source
It is gratis (no cost) but is not open source. The community cannot fix problems in it, audit it for security, or trust it in general.
Con Not free for commercial use
The free version of GitKraken cannot be used in commercial projects.
Con Crashes once in a while
Under specific circumstances, like resetting 5000+ changes, the GUI will crash.
Con Has annoying popup reminders that ask you to upgrade to the Pro version
Understandable, since nobody is entitled to use work done by others for free, but annoying nonetheless.
Con Amending merge output is a pro feature
In most cases of Merge Conflicts, users are stuck with auto-merge or manually resolving it by hand. This is because in the Free Tier, users can only (1) Keep File (ver 1), (2) Keep File (ver 2), (3) Auto-merge, or (4) Use External Merge Tool.
In addition, using External Merge Tools is very limited because GitKraken (all tiers) restricts External Merge Tools to only those it managed to Auto-detect. It also does not support custom arguments for the External Tools.
Modifying the merge output directly, or Selecting lines to keep/discard, is a Paid Feature.
Con Can be confusing
Con No real commitement to Linux support
Infinite loop on Fedora 28, no debug feature or stacktrace available, no clear dependencies listing.... No real support on Linux.