Graphical User Interfaces for Git

Avatar of Chris Coyier
Chris Coyier on (Updated on )

Git is command-line-driven software, but that doesn’t mean you have to use the command line to make it work. There are lots of options! Some of the deepest programmer nerds I know prefer to use GUIs for Git (Graphic
User Interface, or you know, software you can see things and click stuff), and some near pure-designers I know prefer working with the command line for Git. Swear to Git.

Lemme round up what look like the major players for Git GUIs these days.


I’ve used Tower for ages and it’s the one used the most. I’m not sure the exact release dates of all these, but I feel like Tower was an early player here. They’ve been around a long time and continuously improve, which I always respect.


It’s free and actively developed, incredibly.

GitHub Desktop

This is a 2.0 of the original GitHub Desktop. I had some gripes with the 1.0 version in that its terminology was weird (to me) and seemed to vastly deviate from Git, which was more confusing than it was worth (again, to me). This version cleans most of that up. It’s deeply integrated into GitHub so it makes GitHubb-y things (e.g. pull requests) feel like first-class citizens, but it will still happily work with any Git repo.


I’m pretty intrigued by this one. Upgrading (monthly cost) to get the in-app merge conflict tool seems worth it, but you also have to upgrade to access private repos. It seems highly feature-rich, but I think my favorite part is the dark-with-rainbow-accent-colors theme.


You might be compelled by Sourcetree if you’re a big Bitbucket user because they are both Atlassian products. I know it works for any Git repo though. I imagine there is some smooth Bitbucket integration stuff with this, similar to the GitHub/GitHub Desktop connection.


You don’t really think of Coda as a version control tool (it’s more of a direct-to-FTP thing), and even though I’d argue the support for it is fairly half-baked, it does work! Seems likely the next evolution of Coda will address this.

VS Code

Having version control right in your IDE like this, to me, feels like kind of a tweener between GUI and CLI. There are a lot of features here, but it’s not really a full-blown GUI to me, but you’ve got a terminal built in right there so it almost encourages that. A lot of Git usage is pretty basic pulling, committing, and pushing — so having this right within the app is kinda sweet.

(I imagine there are lots of other IDEs that offer version control features. PHPStorm, etc.)


I don’t quite know what to make of Atom. It’s certainly pretty popular, but Atom is GitHub’s thing, and now Microsoft owns GitHub, and Microsoft has VS Code which is a direct competitor with way more momentum. Plus GitHub has GitHub Desktop which also seems to have momentum. Still, hey, it’s a great integration and if you love it you love it.

Sublime Merge

From the makers of Sublime Text! Like Sublime Text, you can use it kinda free forever but in this case, for now, you just pay if you want the dark theme.


It looks like the last update was 7 years ago, but it also has great reviews. It looks like you don’t see code difs within the app itself which is a little weird (the “view dif” stuff didn’t work for me, anyway). But functionally otherwise, seemed perfectly working to me.


Windows only here so I can’t give even a brief review, but they have a ton of screenshots here.


Cross-platform, and looks very full-featured (even stuff like a file merge tool for conflicts). The UI snob in me squinches my face a little looking at it.


Looks to be very big on the visual graphing of git branches and giving you control over all the nodes and what you do with them. I’ll embed their demo video here which shows all that off:

Git Extensions

Windows only here so I can’t give even a brief review, but several people mentioned it so it feels like it’s got legs to me. The 4000+ stars on GitHub (it’s open-source!) is very cool too.