Recs.
Updated
Over 2 million developers worldwide rely on GitKraken to get their work done. Our team is dedicated to making tools that help software developers be more productive - it’s truly our passion. Since 2014, we’ve been rapidly developing the legendary cross-platform GitKraken Git GUI while reimagining an intuitive, visual approach to Git. You can use the cross-platform Git Client to visualize file history and changes to your repos in a beautiful graph; simplify complicated Git commands, like rebase and cherry-pick, into drag-n-drop actions; and make quick edits directly to your code within the app. Download it today at GitKraken.com!
SpecsUpdate
Pros
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 Built-in merge tool
GitKraken allows developers to fix merge conflicts inside the application. This feature is available in the free version, but the merge conflict output editor is only available for users on the paid version.
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 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 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 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 Nice repository management tool
GitKraken is useful as a repository management tool with the ability to group different repositories into a single project. This is great when you have multiple repos all related to a single project (e.g. separate repositories for client/server, or front-end/back-end).
Pro Intuitive drag-and-drop operations
You can intuitively drag-and-drop UI elements to perform certain actions, e.g. drag-and-dropping the local branch on the remote branch to push it. This also extends to more complicated Git operations, such as rebasing (for example, rebasing the local master on origin/master while working on another branch can be accomplished by drag-and-dropping the local master label onto the origin/master label — this will stash your local changes -> checkout master -> rebase it on origin/master.)
Pro Has a powerful fuzzy finder
GitKraken has a powerful fuzzy finder (accessible through CTRL+P on Windows/Linux, and CMD+P on macOS) that allows you to intelligently search for files or actions you wish to perform.
Pro Supports different pull mechanisms
GitKraken has three different pulling mechanisms: fast-forward if possible (fetch remote branch -> attempt to fast-forward local branch; a merge will be performed if fast-forward is not possible), fast-forward only (same as previous, but doesn't make any changes to local repo if fast-forward is not possible) and rebase (stashes commits -> fetch new commits on remote branch -> replay your commits on the branch).
Pro Built-in pull request functionality
If your repository is connected to a hosted version control service (e.g. Github, Bitbucket, etc.), you can manage pull requests inside GitKraken.
Cons
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.
Note: This does not apply to the Enterprise version ($99/user/yr) where GitKraken can be installed/self-hosted in your own 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 Hides away too much of the Git internals
When errors come up, there is no easily retrievable information to help diagnose the issue.
Con Does not allow offline installations
Upon installation, the user is prompted to register online, failing which the program becomes disabled after a fixed number of days. This is a problem for air-gapped environments. There are workarounds for this limitation though.
Note: This does not apply to the Enterprise version ($99/user/yr) where GitKraken can be installed/self-hosted in your own environment.
Con Free version not for self-hosted gitlab
This nice cross-platform client could have delivered the same UI on different platforms.
Con Limited history
GitKraken only shows a certain amount of history so larger repositories will suffer from not being able to backtrack from inception.
Con Poor visibility in interface
The graph is very beautiful, but it tells you next to nothing about the identity of the person committing in that branch. Only by clicking a specific commit, or memorizing the colors of the committer's identity, will you be able to find out who that is.
In a project with more than two contributors or branches, you'll be overwhelmed by the lines and who committed what. This is very apparent in offline or corporate environments where "avatar pictures" are NOT prevalent.
Con Do not allow to edit index directly
For extra fine commit, only allow the default "git philosophy" : add a hunk to the index (git add -p [+s] + y), so index a full line or adjacent lines, not as powerful as egit (Eclipse / Git Eye) allowing to edit index directly and take a part of a line for example (close to git add --edit with the security of the UI to not fail)
Con User interface is messy
It feels like looking at a illuminated advertising panel. Every element is shouting: "Here! Please click on me!"
Con Hard to get file log
You can't get file log if the file is not changed because GitKraken doesn't have file search.
Con Does not allow you to activate file to long path in Windows
If your git repo is big and has too many subfolders and file names are long, it does not allow you to activate an option or an internal git shell so you can run commands on that git instance, or any other for that matter. And because one can't run a command to accept long file names, this client just gets all bugged out and does not work properly any more.
Recommendations
Comments
Flagged Pros + Cons
Con No longer free for use with private repos.
You can use GitKraken for free if you're working on a public repo, but you can no longer work on a private one without paying.
Con Not free for private repository
The last update made the app total nonsense. from now on, you need to purchase a license if you have a private project.
Con Not free for private projects
The FREE plan does not allow you to open private repositories. This seems to be a recent change as of November 2019, previously that was ok.
Con No longer free for use with private repos
You can use GitKraken for free if you're working on a public repo, but you can no longer work on a private one without paying.
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 Supports multiple platforms
GitKraken has been built on top of Electron, making it cross-platform and capable of running natively on Linux, Mac, and Windows. This is very helpful for people who work on different platforms since they will have the choice of a consistent look and feel when using GitKraken.
Con Unable to pull/push to VSTS git repo, keeps asking for credentials that it wont accept
Can use VSTS with personal access token as password. It's just not straightforward.
Con Support doesn't respond to support requests unless you've bought a license
Pro Great interface, versions for windows linux and Mac, making it much easier to use GIT even for inexperienced users.
Con No LFS support
Unable to use the git large file storage plugin.
Con Currently in beta
The software is no longer invite-only, but is still in beta so it could be unstable.
Out of Date Pros + Cons
Con Slow
Can take between 2 and 5 seconds to load a repository, if not crashing while loading.
Con Bad performance when opening a repository
GitKraken can take between 2 and 5 seconds to load a repository, even if the repository is small. For larger repositories, it can take longer and might crash.
Con Not free for commercial use
The free version of GitKraken cannot be used in commercial projects.
Con Git graph is not the clearest
The git graph can get complex very fast if you're following the GitFlow process. There is also no way to re-order commits like in other Git clients (e.g. SourceTree).
Con Does not support interactive rebase
Interactive rebase is one of the most interesting and useful features of Git, but unfortunately, it is not supported by GitKraken.
Con Can be sluggish at times
Even on a powerful machine, the GitKraken interface can be very sluggish. There is always a delay when moving from the log to deciding what to stage or commit, moving between hunks, etc.
Con No indication that it is working in the background
There is no "please wait" message or even an animated indicator to alert to there being some form of time-consuming job running in the background.
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 version of GitKraken, users have limited options to choose from (keep file, auto-merge, or use external merge tool). Modifying the merge output directly, or selecting lines to keep/discard, is only available for users on the pro version.
In addition, using external merge tools is very limited because GitKraken (both free & paid) restricts it to only those it managed to auto-detect. It also does not support custom arguments for the external tools.
Con Does not support detached HEAD mode
If you want to Checkout some past commit, you just can't.
Con Won't work well with other software like VS Code
Trying to checkout with the VS Code opened will give an error "Checkout Failed - could not rmdir".
Con Missing some advanced features
For example:
Checkout & Hard Reset
Advanced or Interactive Rebase (aka history rewrite)
Progress bar indicator.
Con Cannot select multiple files at once, to stage/unstage
There is no shift-click or control-click functionality to select multiple files. The user must therefore click on the "Stage this file" label, or stage all changes.
Con Does not support Git LFS
Cannot use this with the Large File Storage system.