When comparing SmartGit vs GitKraken, the Slant community recommends SmartGit for most people. In the question“What are the best Git clients for macOS?” SmartGit is ranked 2nd while GitKraken is ranked 6th. The most important reason people chose SmartGit is:
SmartGit has a rather clean and uncluttered user interface. All the most useful tools and information are displayed at all times or are otherwise just a couple of clicks away. All repositories are displayed in the sidebar and through a tabbed interface you can view various info about a specific repository (files, branches, branch graph, etc). The most used git commands like `pull`, `push`, `sync`, `commit` and `merge` are always available on top.
Ranked in these QuestionsQuestion Ranking
Pro Uncluttered UI
SmartGit has a rather clean and uncluttered user interface. All the most useful tools and information are displayed at all times or are otherwise just a couple of clicks away.
All repositories are displayed in the sidebar and through a tabbed interface you can view various info about a specific repository (files, branches, branch graph, etc). The most used git commands like
merge are always available on top.
Pro Easy to use
The clean and intuitive UI makes SmartGit very easy even for people with no prior experience with Git, even after reading just a bit on how Git works and what the main commands are.
Pro Free for non-commercial use
SmartGit can be used free of charge by Open Source developers, teachers and their students, or for hobby, non-paid usage.
Pro Supports Git, Mercurial, and SVN
SmartGit supports Git and Mercurial, as well as SVN via git bridge.
Pro Smart embedded difference viewer
When the changes affect only a few characters in a line of code, the embedded difference viewers in the majority of competitors (such as SourceTree) show the whole line as removed and re-added. SmartGit highlights the characters that have been removed / added, so they are easier to read.
Pro Great view of the timeline of the project (the log)
Pro Portable version for Windows is available
SmartGit also has a portable bundle that can be downloaded and can be run from external devices (such as a flash drive for example).
Pro Git-flow support
Git-flow provides a consistent development process by defining a strict branching model that is great for managing large projects. SmartGit allows for setting up and integrating into repos that follow this model.
Pro GPG support
GPG in SmartGit makes for added security.
Pro Auto-detects repositories on disk
Pro Best submodule workflow on the market
You can easily update submodules from the containing repo, unlike other GUIs that require you to open each repo separately. Saves a lot of time when working on a monorepo managed using submodules.
Pro Extendable with external tools
External tools (which have a command line support) can be integrated to be used to open/view files, for diff or as conflict solvers. E.g. editors like Notepad++ or VS Code, p4merge to diff images or kdiff3 as diff view/conflict solver.
Pro Can be integrated with Github, Bitbucket, and Atlassian Stash
Using OAuth, you can connect SmartGit with your accounts in Github, Bitbucket, or Stash and access the remote repositories there. You can then clone, fork, commit or push to your remote repositories from inside SmartGit. You can also view and manage pull requests for your open source projects from SmartGit.
Pro Great support
Support responds quickly and they genuinely try to help you! If it's a bug, it will often be fixed within days.
Pro Great filtering options
The file list view can be tweaked and filtered in many ways (e.g. regex can be used).
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 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 Good keyboard shortcuts
Pro Perfect for beginner developers
GitKraken is easy to use and is brilliant for the beginner developers
Con Proprietary license
Not an open source license.
Con Some git functionality has been renamed
In order to preserve the same interface across Git and Mercurial, some naming compromises have been made so that the various VCS it supports are all consistent with each other.
Con Perspective views can be limiting
Being able to see everything at a glance is important. Some updates, however, change the perspective views which are rather fixed. It lacks a more open way to add and remove windows to create your own perspectives as these changes between versions can disrupt a nice workflow.
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 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 $79/user/yr Enterprise option. It allows you to deploy a Linux License Server in an air-gapped/offline environment.
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 Cannot multi-select files
No Ctrl-Click or Shift-Click for multi-selecting files. For example, if you have a few files you wish to delete, it is a slow process. You have to delete them individually; that is, right click a file then delete, right click another then delete, and so on.
Can take between 2 and 5 seconds to load a repository, if not crashing while loading
Con No tab support
Cannot access multiple repositories in the same session.
Con Missing some advanced features
Checkout & Hard Reset
Advanced or Interactive Rebase (aka history rewrite)
Progress bar indicator
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.