When comparing GitExtensions vs GitKraken, the Slant community recommends GitKraken for most people. In the question“What are the best Git clients for Windows?” GitKraken is ranked 2nd while GitExtensions is ranked 4th. The most important reason people chose GitKraken is:
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).
Ranked in these QuestionsQuestion Ranking
Pro SSH support
Instead of using HTTPS and authenticating every time they are pushing their code remotely, plenty of developers prefer to use SSH to communicate with the remote server and authenticate using secure key pairs.
Pro Lightweight and fast
GitExtensions is a lightweight and fast application.
Pro Git commands visibility
GitExtensions typically displays all commands that it carries out in a separate window. The user can also open the Gitcommand log (under Tools) and view the git commands as they interact with the program.
Pro Great UI
GitExtensions has a simple layout, all usual functions being available without navigation menus. The branching and merging are clear and easy to follow.
Pro Powerful commit screen
Staging/unstaging files and/or lines of code, ammending, overriding commit's author, commit templates.
Pro Open source
It's totally free
And its written and thought by developers who really know what you need as a developer. Open to contributions by everybody.
Pro Easy to set up
Can either be set up as a shell extension, standalone tool of Visual Studio plugin, allowing developers to choose the way that suits their workflow best and is easier for them to get into.
Pro Easy to use
Can be used as a Visual Studio plugin for developers who use it as their IDE, or as a standalone tool. Both are easy to use even for users not very familiar with git.
Pro Useful plugins
Includes Gitflow, also has a delete obsolete branches feature which is very useful to get rid of those old branches that have already been merged. There are also other options to clean overall clutter in repositories.
Pro Very good stash support
Easy to save, view & pop stashes.
Pro Many advanced features made easier to use
Complex git commands such as resolving a rebase conflict or performing a subtree merge are made much easier by a helpful UI.
Pro Allows easy setting up of scripts to enhance productivity
Pro Plugin API
There are several out-of-the-box plugins installed with standard setup. Additional behavior customization is possible with new plugins (written in C#).
Pro Submodule support
Powerful submodule support, also when working with multiple cloned SuperRepos.
Pro Built-in git-bash console
This makes running custom git commands quicker.
Pro Simple global / local diff and merge support
Makes working with repos using different languages and support tools much easier.
Pro Eases initial git configuration
The settings window on first run helps you set lots of required settings such as your commit email address.
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).
Built on top of Electron, so it runs on Linux, Mac, and Windows.
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 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 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 GitFlow support out of the box
Supports GitFlow out of the box.
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 Has a FuzzyFinder
GitKraken has a fuzzy finder to switch between repos/files.
Pro Good keyboard shortcuts
Pro Perfect for beginner developers
GitKraken is easy to use and is brilliant for the beginner developers
Con Not truly cross-platform
GitExtensions is not truly cross-platform. It can run through mono on UNIX-based systems but this does not work as well as it does on Windows.
Con Doesn't offer " Repo Groups"
Repo groups (best done in smart git, Git Kraken's version is also decent) is an amazing time saving feature when you work with multiple repos on a daily basis. This is the only con!
Con UI does not render properly on Windows 10 x64
Con UI may feel cluttered with too much information
The sheer amount of information that the UI displays by default may feel overwhelming at times, if not outright confusing.
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 Crashes once in a while
Under specific circumstances, like resetting 5000+ changes, the GUI will crash.
Con Not free for commercial use
The free version of GitKraken cannot be used in commercial projects.
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 Missing some advanced features
Checkout & Hard Reset
Advanced or Interactive Rebase (aka history rewrite)
Progress bar indicator
Can take between 2 and 5 seconds to load a repository, if not crashing while loading
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 No tab support
Cannot access multiple repositories in the same session.
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.