13-05-2021

Options
Considered
User
Recs.

A fast and friendly git client for Mac and Windows. Fork is getting better and better day after day and we are happy to share our results with you. Download Fork for Mac. GitHub Notifications. Fork gently informs you about GitHub notifications without being annoying. Build Better Software. Over 100,000 developers and designers are more productive with Tower - the most powerful Git client for Mac and Windows. GitUp's Live Map and clutter-free UI make an ideal learning environment for Git newcomers, while the Undo & Snapshots features let you learn and experiment safely. Download Latest Release! Requires Mac OS X 10.8 or later—OS X Yosemite recommended.

Last
Updated
Slant is powered by a community that helps you make informed decisions. Tell us what you’re passionate about to get your personalized feed and help others.
Best graphical git clients for LinuxPricePlatformsIssue Tracker support
SmartGit
-Linux, Mac, WindowsAtlassian JIRA
Magit (Emacs plugin)
freeAny supported by Emacs (Linux, Windows,macOS,*BSD...)-
Gitg
free--
GitKraken
-Windows, macOS, Linux-
tig
---

SmartGit

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. See More
The source code is not available to audit, improve, or redistribute. Thus, this application cannot be trusted in terms of security, and if the devs abandon it, it can't be maintained by others. See More
Slant has their fingers squarely on the pulse of this question; I don't think there's really another Git GUI for Linux that compares to SmartGit currently. It's not the most artful vision for a GUI, but all the features really are there once you suss out their hidey holes. Compared to the shell interface you already know without me having to tell you that you're going to lose some productivity...but for those days when you're trying to restructure a project and need to be in three repositories at once for as long as it takes to build that mental model of how it's all going to fit together, this app is a hands-down must-have. It's a cinch to fill the drop-down menus up with your own custom commands and for a Java program it's not hideous, ya know? Of course it'd be better if it were FLOSS but they get some credit for not having a single nag dialog if you declare at install that your usage is for open-source contributions of a non-commercial nature. See More
Platforms:Linux, Mac, Windows
Pro Features:Conflict Solver and Compare (freely editable); Pull Requests, Comments for BitBucket, GitHub and provider independent (Distributed Review add-on); Git-Flow; highly configurable views, external tools
Pull Request/Comments support:Atlassian Stash, BitBucket, GitHub, own Git server (Distributed Review add-on)
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. See More
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. See More
Very useful, Syntevo has develop a very versatile idea, I really recommend it to all my friends. See More
Can compare Head vs Index, Index vs working tree. See More
See More
Easy, clean, fast, powefully. All of that is SmartGit. See More
SmartGit can be used free of charge by Open Source developers, teachers and their students, or for hobby, non-paid usage. See More
In order to preserve the same interface across Git and Mercurial, some naming compromises have been made. See More
SuperB application @teamsmartgit The complete worth of money. See More
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. See More
If changes are made in very long lines, the diff display is hard to navigate. See More
Smartgit do some actions implicitely for user convenience. This hides the look what is really going on, especially for novice users See More
Awesome feature, a top-notch Conflict Solver, no funny commands to remember that is required to out of the box git cli merge tool, this is very intuitive. See More
Not an open source license. See More
Greatly improve the user experience when rebasing, etc. See More
You are allowed to use SmartGit free of charge for several purposes (e.g. for hobby use, education, as Open Source developer, 'by public charitable organizations primarily targeting philanthropy, health research, education or social well-being'), every other usage requires to buy a license. See More
It Provides high-level repository operations for Vincent Driessen's branching model. http://nvie.com/posts/a-successful-git-branching-model/ See More
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. See More
(as well as the traditional context diffs, which are useful when the lines get too long) See More
See More
Rebased, but not yet garbage-collected commits can be easily made accessible again, e.g. after a reset hard. See More
See More
Git-flow provides a consistent development process by defining a strict branching model that is great for managing large projects. SmartGit allows setting up and integrating into repos that follow this model. See More
SmartGit supports Git and Mercurial as well as SVN via own git bridge. See More
See More
See More
Not every, but nearly all. See More
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). See More
See More
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. See More
The built-in compare and conflict solver has syntax coloring with customizable colors. See More
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. See More
See http://smartgit.userecho.com/ See More
And support for own themes. See More
GPG in SmartGit makes for added security. See More
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. See More
This allows great layouts as desired. See More
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. See More
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. See More
The file list view can be tweaked and filtered in many ways (e.g. regex can be used). See More
Compared to gitk, git gui, SourceTree, GitKraken. See More
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. See More
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. See More
Support responds quickly and they genuinely try to help you! If it's a bug, it will often be fixed within days. See More
NordVPN
Rated #1 VPN worldwide by Cnet & PCMag.com
100% security - no logs whatsoever
30-day money back guarantee
Blazing fast speed
Platforms:Windows, MacOS, Linux, IOS, Android
IPv6:Yes
Server locations:61
Based in:Panama
Interested in promoting your product? Contact us

Magit (Emacs plugin)

Magit is only useful if your text editor of choice is Emacs. It wouldn't really make any sense to open up emacs just to run Magit if you use another editor. See More
You can easily change options of common tasks and either remember them as default for future use, or use it only for this command. Things like ignoring whitespace in diffs are good example of that. See More
It works like magic! See More
Platforms:Any supported by Emacs (Linux, Windows,macOS,*BSD...)
Simple tasks, such as commits, can quickly be made without leaving the editor. See More
Since it's integrated with Emacs, diffs are very easy to fix. You can jump right to any file you want to fix as soon as it comes up in the logs or in the status view. See More
You can easily learn the mnemonics for the most common tasks and use them to your advantage to speed up your workflow. See More
See More
See More
In Magit staging a hunk or even just part of a hunk is very easy. Magit also implements several other 'apply variants' in addition to staging and unstaging. For example: you can also discard or reverse a change, or apply it to the working tree. See More
It works perfectly on Linux, Windows, and Mac. See More
See More
See More
See More

Gitg

AllPros
2
ConsSpecs
See More
See More
License:GPLv2
There are some key/authentication issues. See More
The UI is very straightforward, once you open it, you can browse your computer to find an existing git repository and open it in the app. Once opened you can browse commits and view remotes immediately. It also allows you to browse the files and preview them. There's also a commit view which shows past commit messages, as well as unstaged and untracked commits. See More

GitKraken

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). See More
Gitkraken now requires use of their paid plan if the user wants to use it for their commercial project. See More
Axosoft is commited to building a solid user-friendly cross-platform application. The annual fee for the Pro version is much more reasonable than SmartGit. See More
Platforms:Windows, macOS, Linux
Pricing:FREE, $29/year for Individual, $49/user/yr for Pro, $99/user/yr for Enterprise
Integrations:GitHub, Bitbucket, GitLab, Azure DevOps, GitHub Enterprise, GitLab Self-Hosted, Bitbucket Server
Paid Features:Email Support / Merge Conflict Editor / GitLab & GitHub Enterprise Integration
See All Specs
GitKraken has simple undo/redo buttons that work the same way you'd expect in any other software. See More
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. See More
I don't even know where to begin with this one. I think the simplest explanation must be this application is the result of a gifted digital graphics designer with a tragic lack of any awareness about UI/UX philosophy and best practices decided to create a Git GUI. Further complicating issues is an absence of a useful workflow within the interface; seriously not even the most interdependent git functions lead into one another, for instance invoking a Fetch on a remote offers no way to then execute a Pull/Rebase, etc.; you're just back where you started hunting through menus and buttons without labels for what you know needs to come next. I'm never going to forget about GitKraken though, because whenever I meet a rude developer on a project I never miss the opportunity to tell them how amazing this app is if you purchase the license, LOŁ See More
Built on top of Electron, so it runs natively on Linux, Mac, and Windows. See More
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. See More
screws up almost every time I want to make a clean push claiming there's a need to do a remote merge which messes up my coding flow and impairs my option to amend previous commits See More
Axosoft is extremely responsive to requests for new features and has a good paced iteration cycle of 2-4 weeks. See More
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. See More
Lots of failures with Amazon CodeCommit See More
There are both pro and free versions available. The free version is pretty complete feature-wise for day-to-day operations. See More
A lot of options in their config are not working. If you want to change the merge tool to your own, you can't (even though it gives you the option). See More
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. See More
There is no full list of features on their website, you have to check each update to the changelog. See More
GitKraken is easy to use and is brilliant for beginner developers. See More
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). See More
No more eyestrain staring at white screens - GitKraken has a lovely dark theme. See More
Can take between 2 and 5 seconds to load a repository, if not crashing while loading. See More
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. See More
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. See More
The developers behind Gitkraken are pretty laid-back and very approachable and will listen to user complaints and suggestions. See More
Infinite loop on Fedora 28, no debug feature or stacktrace available, no clear dependencies listing - no real support on Linux. See More
GitKraken has a fuzzy finder to switch between repos / files. See More
There is no functions for creating or applying a patch. This app doesn't support it, and GitKraken hasn't responded to suggestions for adding the feature. See More
Paid plan support is very helpful, responds quickly, offers good advice and tips! See More
The free version of GitKraken cannot be used in commercial projects. See More
See More
Cannot access multiple repositories in the same session. See More
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. See More
For example: Checkout & Hard Reset Advanced or Interactive Rebase (aka history rewrite) Progress bar indicator See More
Supports GitFlow out of the box. See More
See More
Under specific circumstances, like resetting 5000+ changes, the GUI will crash. See More
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. See More

Git Client Gui Mac Os

Understandable, since nobody is entitled to use work done by others for free, but annoying nonetheless. See More
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. See More

tig

If you prefer to do most of your development inside the terminal, changing windows to move to a GUI git client can be annoying. Since tig runs inside the terminal, that's avoided. See More
See More
See More
The distribution of windows changes responsively depending on the terminal size. See More
See More
Can easily be installed with homebrew simply by running brew install tig See More

Git Cola

Fast startup, don't need to keep open because it can be called only when needed efficiently since it does not do what's not asked. See More
File browser, history view (Git DAG), and push buttons all have their own separate window. See More
Terribly difficult to use See More
Platforms:Windows, macOS, Linux
This application is FOSS, and thus it can be freely modified & distributed. See More
You sometimes need to touch the terminal in order to get certain things done. See More
Simply git cola from terminal. If current folder is a git repo, it will be opened. Otherwise, known ones will be presented to choose. See More
It can keep reverting to gvim despite not having it. A restart appears to have fixed that, now showing gedit, but doubleclicking a file in DAG doesn't open the editor, and it's not even in the context menu. See More
Works on Linux, Mac and Windows. See More
See More
Can be easily installed through homebrew by running brew install git-cola. See More

GitEye

AllPros
3
Cons
See More
See More
See More
See More
See More

fugitive (via vim)

The visualization and workflow are great in fugitive. You can do side-by-side or even intra-line diffs all without having to leave your text editor. See More
See More
I prefer using the CLI for all my git stuff, but if I don't want to drop into a shell, or background my editor (e.g. resolving complex merge conflicts), I sometimes use this plugin. All the power of your favourite editor, with all the functionality you expect from a git client. See More
Simple tasks, such as commits, can quickly be made without leaving the editor. See More
git blame only shows the last change (e.g. a variable rename), but how do you find the origin of the code? :GBlame to open blame window o on the relevant line to 'git show' the commit select a diff line from a previous version of the file, and hit o to open it repeat 1 - 3, jumping back through history to find the origin of the line See More
Using git blame is as easy as :Gblame, and does the same thing, but should you need some more context, it's quite easy to see the entire commit that introduced the change. No need to copy-paste hashes, just hit enter. See More

GitExtensions

Staging/unstaging files and/or lines of code, ammending, overriding commit's author, commit templates. See More
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. See More
I have used this in a non-Visual C environment for years. It has never let me down. See More
Platforms:Windows
GitExtensions has a simple layout, all usual functions being available without navigation menus. The branching and merging are clear and easy to follow. See More
See More
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. See More
GitExtensions is a lightweight and fast application. See More
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. See More
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. See More
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. See More
See More
There are several out-of-the-box plugins installed with standard setup. Additional behavior customization is possible with new plugins (written in C#). See More
See More
Git
See More
Makes working with repos using different languages and support tools much easier. See More
The settings window on first run helps you set lots of required settings such as your commit email address. See More
Powerful submodule support, also when working with multiple cloned SuperRepos. See More
Easy to save, view & pop stashes. See More
Complex git commands such as resolving a rebase conflict or performing a subtree merge are made much easier by a helpful UI. See More
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. See More

Sublime Merge

Just like Sublime Text, this too has a command palette which can be used even for the more advanced git operations. See More
Platforms:Linux, Mac, Windows

Git Gui Client For Mac

Trial Period:Unlimited
Based on the same technologies as Sublime Text, this software is blazing fast. See More

GitAhead

Their website says 'now completely free and open source' as of 2018-05-10. See More
Platforms:Windows, Mac, Linux

ungit

See More
Platforms:Windows, Mac, Linux
Works anywhere you can run node.js and use a modern browser. See More
To install ungit all that's needed is a simple npm install -g ungit and it's done. See More
Shows the more complex git tasks like rebasing, merging, branching in an understandable UI, showing what will happen before you actually do it. See More

EGit (via Eclipse)

Can see all commits in all branches. Great for finding spike work (esp. the 'I know I created a file in this folder - but when/what branch?') See More
See More

Giggle

There are context menu entries for branching and tagging, but not for pushing. See More
Platforms:Linux

Eclipse git

See More

SourceTree

GitHub Desktop

Git Tower

I Recommend...
Each month, over 2.8 million people use Slant to find the best products and share their knowledge. Pick the tags you’re passionate about to get a personalized feed and begin contributing your knowledge.

One sec!

Are you sure that you want to abandon your hard work?

Continue working