When comparing SmartGit vs GitKraken Client, the Slant community recommends SmartGit for most people. In the question“What are the best Git clients for Windows?” SmartGit is ranked 1st while GitKraken Client is ranked 3rd. The most important reason people chose SmartGit is:
SmartGit can be used free of charge by Open Source developers, teachers and their students, or for hobby, non-paid usage. However, some features are only available with paid versions, like JIRA/GitHub Entreprise/Bitbucket integration, distributed review, DeepGit.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Free for non-commercial use (with some restrictions)
SmartGit can be used free of charge by Open Source developers, teachers and their students, or for hobby, non-paid usage. However, some features are only available with paid versions, like JIRA/GitHub Entreprise/Bitbucket integration, distributed review, DeepGit.
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 pull
, push
, sync
, commit
and 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 Great overview of the project/repository's log
SmartGit's log viewer displays the full commit history in a clean UI. This can be filtered to only show commits matching a certain criterion (e.g. branch).
Pro Supports GitFlow
GitFlow 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 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 Can be integrated with Github, GitLab, Bitbucket, and Atlassian Stash
Using OAuth, you can connect SmartGit with your accounts in Github, GitLab, 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 Has the most features and most logical layout
Compared to gitk, git gui, SourceTree, GitKraken.
Pro Can edit file in workspace or index directly from the compare view
This is very useful when reviewing files before committing and finding a needed quick tweak.
Pro Syntax coloring for many languages
The built-in compare and conflict solver has syntax coloring with customizable colors.
Pro Auto stash
If normal Git commands would abort because of local modifications, SmartGit can stash them and apply later after the command ran successfully, e.g. a rebase.
Pro Supports Mercurial & SVN
Apart from Git, SmartGit supports both Mercurial and SVN via a git bridge.
Pro Log with fine-grained display of branches
There is no option of just showing the current branch or all branches, but you can select very fine-grained what branches/forks should be displayed.
Pro Auto-detects repositories on disk
You don't have to search all the repositories when trying out SmartGit the 1st time, but it finds all of them magically.
Pro Excellent dark theme
And support for own themes.
Pro Allows rearranging views
If screen space is limited, one can stack some views onto another. 2 layouts are available - "Main" and "Review" - with independent view positions.
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 Log: ability to see dangling commits and stash commits
Rebased, but not yet garbage-collected commits can be easily made accessible again, e.g. after a reset hard.
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 Great conflict resolver
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) or to test-drive without leaving traces on the machine after removing.
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 Great filtering options
The file list view can be tweaked and filtered in many ways (e.g. regex can be used).
Pro The best multi-repository support
Can make a repo group containing multiple repos; it acts as a meta repo.
Can submit selected files from multiple repos in a repo group in one commit action; uses the same commit message in all the repo commits.
Pro Journal dedicated for current branch history
Showing commits from the current branch, its remote branch and one auxiliary branch. Independent of the that, there is a log window available that allows to view all (other) commits.
Pro Easy recover from mistakes
Across all those years, every mistake I did I was able to recover.
Pro Every git command is available through the GUI
Not every, but nearly all.
Pro Can rearrange Repository window and Log window views/panels
This allows great layouts as desired.
Pro Offers life-time updates
One payment, get updates for all future versions.
Pro Cross-platform
Pro GPG support
GPG in SmartGit makes for added security.
Pro Ability to follow only first parent in the Log window
This is extremely useful in histories with a lot of merges. You can focus on the changes on the main branch and expand into a merged branch with a single click when you need to.
Pro Evolution submission program
See here.
Pro Can detect issue numbers and links to the issue tracker
Supports GitBugTraq file.
Pro Supports selecting open issues from JIRA
Allows you to select the desired issue, instead of having to do it manually.
Pro Can handle big repositories with long history
4GB, 10 years. Most other graphical clients either slow down to a crawl or even crash, or don't support some of the needed features.
Pro UX design is synergy with how a developer actually works
It may look confusing at first, but once you know each part, you love how useful they are.
Pro Git squash
Git squash is a pain on CLI, and most Git clients allow some kind of squash during Rebase only. Ctrl+J shortcut helps for simple squash commits.
Pro Hotkeys for everything
Or nearly everything.
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 Very expensive and no multi-user licences
91 EUR per year per person for the base version is more expensive than top development IDEs, and is exaggerated.
No multi-user and no site licence either, which makes the licence management a pain.
Con Proprietary license
Not an open source license.
Con There is no lite version
A lite version would allow the user to do all the basic tasks quickly. If you need more complex tasks, you can also install the regular version beside it. A lite version would also be less memory hungry and would work on systems using low memory.
Con Free version doesn't support Gitlab Community Edition
It requires paid commercial version.
Con It is slower than the older versions
As more and more features are adding, the more slow the application becomes.
Con Diff display doesn't show long lines well
If changes are made in very long lines, the diff display is hard to navigate.
Con Absolute git beginners will find it very complicated
If you're just starting out with git, SmartGit might feel overwhelming as it does not dumb-down the complexities of git but exposes everything.
Con Font size too small and cannot be changed
Con Unintuitive UI
At first glance, the sub windows are poorly organized. For example, there isn't an easy way to navigate the files in the repository. It's drastically differently designed than other popular source control clients.
Con Currently lacks support for git subtree
It's a useful feature when developing several independent project modules in parallel.
Con Requires non-beginner level of GIT to appreciate fully
Con Handling of git repository security tokens & credentials
The handling of git repository security tokens & credentials is bad: one usually has to ask google, read discussions and then start to use try & error to get working access.
You would expect much more from software that calls itself smart.
Con Uses Atlassian JIRA for Support
Uses Atlassian JIRA for support. That requires you to provide Atlassian with personal information, including email addresses. Also doesn't work with JavaScript disabled.
Con The top 5-10 git Use Cases are not intuitive without knowing git
SmartGit fails to abstract git in a way that makes it easy / intuitive to use. For software that calls itself smart, you would expect someone who has worked with any version of control software for years to get up to speed quickly with SmartGit - without studying the Git Manual.
Con Doesn' t support remote coding or WSL
To work alongside tools like VSCode it really needs to be able to work with remote code by ssh and on Windows support for running git within WSL where the code is being developed.
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 It can be slow and resource hungry
It was written in Java, which is known for being a resource hog, and it can be slow on some machines, as well as prone to errors if developers are not very experienced.
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.