Recs.
Updated
GitKraken has an intuitive user-interface and allows to switch between a GUI or terminal view. It offers integrations with GitHub, GitLab, Bitbucket, and Azure DevOps.
Also see Axosoft
SpecsUpdate
Pros
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 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.
Cons
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 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.
Recommendations
Comments
Flagged Pros + Cons
Con Not free for private repos
It is no more free for use with private in-house repos. On top, need to log onto the gitkraken account to use it at all. It's like enrolling in a home depot account just to be able to open your own front door.
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 Cannot add custom External Merge Tool
If your External Merge Tool does not appear in its auto-detect dropdown list (e.g. KDiff3), you are unable to do any advanced Merge conflict in the free tier. You are stuck with either Git Command Line or a simple Keep File/Delete File option.
Con [Ignore] Was in beta
Since the creation of this con, the software has reached a stable release. It does not, however, appear that Slant provides a delete option--so this must seemingly stay for now.
Out of Date Pros + Cons
Con Missing some advanced features
For example:
Checkout & Hard Reset
Advanced or Interactive Rebase (aka history rewrite)
Progress bar indicator
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.