FotolEdhar - Fotolia
While command-line interfaces are familiar territory, most developers prefer to work with a GUI, which can provide more structure and features. That preference is particularly true for developers who use Git for version control.
Git repositories are usually central to team development. A good Git GUI can be an equalizer -- a way to ensure everyone works with the repository at comparable levels of skill and comfort. There are more than a dozen Git GUI tools with different features and designs. Two of the Git GUIs developers choose most often include Axosoft's GitKraken and Atlassian's Sourcetree; both tools are open source and available with free versions.
Sourcetree is a simple, powerful Git GUI. Atlassian has enhanced the tool -- though some users say sparingly -- since its introduction in 2013. Users like the product's clean aesthetic and the logical approach it provides without compromising Git's power and value proposition. Sourcetree supports most Git-related tasks, which means you don't need to revert to the command line to do specialized things -- but you can, if you choose. Users who adopted the product early in its life love it -- one even described the tool as "beautiful." However, new Git users might find it awkward how the tool organizes steps into tasks and the ways the UI represents tasks.
Axosoft released GitKraken in 2015, after two developers created the tool during a vendor-sponsored experiment. The goal was to create a strong, visual and useful GUI that ran on anything and supported easy extension. Development teams with Git experience say GitKraken lacks the scope of features that Sourcetree offers. Newer Git users, however, find the GUI logical and attractive.
For many users, the choice of GitKraken vs. Sourcetree is a question of GUI quality versus package features. Teams that mix developers with long Git histories and individuals with only recent exposure will sometimes use both clients.
GitKraken GUI benefits
Let's start with the more popular of the two Git GUIs: GitKraken. Users cite three primary reasons for picking GitKraken over Sourcetree:
- The GUI is well-architected, attractive and intuitive. The tool is easy to learn for users with little Git familiarity.
- GitKraken runs on Linux, which is critical for companies developing on or for Linux cloud servers.
- The GitKraken GUI looks and works the same on all the platforms where it runs.
GitKraken provides a single-screen GUI, with a left sidebar that presents repositories, a toolbar and tab area where you open specific tasks. The right side of the screen has a commit panel. This basic GUI structure makes GitKraken look a bit like a typical PC-based application's GUI -- simple for users who haven't worked with Git to grasp.
The GitKraken GUI offers familiar features like undo/redo support, drag-and-drop capability and a built-in code editor. GitKraken can also show commit structures in graph form and detect merge conflicts.
Developers say the GitKraken GUI is "modern," meaning its interface presents a unified view of the developer-to-Git relationship in a single panel. From there, it's possible to dig down for specific tasks. The GUI doesn't impose a project methodology; the tool supports the user's approach.
GitKraken supports Linux, but specifically a Linux client -- i.e., the system on which the developer works. Sourcetree only supports Windows and Mac, but developers can still use the product to produce, manage and deploy Linux code. Keep in mind that a development team uses a variety of client systems and that new employees might individually prefer Windows, Mac or Linux clients. Developers don't jump between operating systems often, and programming teams rarely shift from one client platform to another. However, if you need to mix client platforms, uniformity is an important characteristic of the Git GUI to keep in mind.
Sourcetree GUI benefits
Sourcetree provides a task-organized GUI, with different windows to support specific tasks. Some examples include a window for bookmarks, a toolbar/sidebar window for repositories and one for history.
Some developers like the progression/task model of the Sourcetree GUI. The setup is particularly comfortable for people accustomed to the Git command-line interface. Other users find it awkward to dig down by repository to do work. The variables are how the developer uses Git and their level of experience with the version control system.
The issue of the GUI structure is probably overblown in the competitive space. Most developers acclimate to either approach fairly easily. The main elements of the Git GUIs are similar in both GitKraken and Sourcetree. Each one offers a sidebar to indicate repositories, a toolbar to handle refined tasks and a search icon, among other features. The GitKraken GUI has a dark standard layout vs. Sourcetree's light layout, but that's a minor matter of preference. The primary differentiator between the Git GUIs is the fact that the Sourcetree sidebar repository window launches the others, where it remains persistent in GitKraken.
Sourcetree's GUI looks more tabular than graphic, but the tool does show everything a developer needs. The commit information, in a list-like form, is easier for some to navigate than GitKraken's graphic form, which requires the user to scroll around to see relationships in full.
Sourcetree enables the user to perform all of the typical repository tasks, reflecting the command-line methodology of working with Git, but in GUI form. Thus, experienced Git teams find Sourcetree easier to adopt.
Overall, GitKraken gets higher marks for the GUI design from a broad population of development professionals. While experts in Git prefer Sourcetree, GitKraken appeals to more users overall.
GitKraken vs. Sourcetree features
While you might prefer the look of one Git GUI or another personally, other features should affect tool selection. The following characteristics help teams evaluate Sourcetree against GitKraken.
Git functions possible. The scope of the Git functions reveals the clearest division of user opinion in the GitKraken vs. Sourcetree discussion. Virtually every Git power user preferred Sourcetree, because they can do more with the client. For tasks that developers can't do with Sourcetree, it's easy to drop into command-line mode. The majority of Git users, however, who rarely exercise all Git features, liked GitKraken.
Intended user. Each vendor packages and sells its product with a particular customer type in mind. Sourcetree is designed to integrate with the rest of the Atlassian system, including Bitbucket for team and code collaboration. The target user probably already works with an Atlassian product. GitKraken’s intended user is likely fairly new to Git and to repository-centric rapid development; the intended user sees the tool as a way to ease into both.
Product updates. Customers and prospective users say Atlassian doesn't update Sourcetree as regularly as they'd like; updates usually only come when the vendor makes changes to its overall collaborative ecosystem. Axosoft more regularly enhances GitKraken's GUI. However, Atlassian and Axosoft appear to prioritize updates to different areas of their respective products.
GitKraken's faster update pace is reflected in the tool's extensions: GitKraken Boards for Kanban-style task and issue tracking, and GitKraken Timelines to dynamically track deadlines. You can find these tabs on the standard GitKraken GUI. Through the Atlassian ecosystem, Sourcetree users can also use a variety of other tools, like the Bitbucket source code repository.
GUI product offerings. Sourcetree offers an enterprise version for Windows installations. Administrators can centrally install and update the Windows version. GitKraken comes in a number of license options, ranging from a free open source DIY option to broad enterprise licenses. Installation of the two products is similar, as is support for the main repository options.
Documentation. GitKraken's documentation can be interesting, informative and even funny. The support material covers what most developers need, including a tutorial on Git itself. Sourcetree offers good documentation, but the tool's materials are not quite as visual and easily absorbed as GitKraken's.
Place in a toolkit. Consider the rest of your development and deployment toolkit. If you're an Atlassian user -- particularly of Bitbucket -- then Sourcetree is a great choice, as the tool fits seamlessly into that ecosystem. While you can use GitKraken inside an Atlassian ecosystem, the tool is not the preferred choice -- and you'll likely experience some friction. Keep the client in mind too. As many as a quarter of Git users will have some Linux clients. For them, GitKraken is likely the better choice.
Choose your Git GUI
Where you land in this GitKraken vs. Sourcetree battle ultimately depends on how the development team uses Git. Factor in what kinds of applications you create, the nature of the programming language and the development tools in use in addition to and augmenting Git.
Broadly, here's how most customers choose between the two vendors:
- GitKraken takes advantage of the explosive growth in Git popularity among development and DevOps teams, and the growing need to support developers with less Git experience. GitKraken's ease of use helps it reach users beyond heavy-hitter Git experts. This tool is an amazingly good Git GUI, and it's a great fit for developers with a variety of experience levels.
- SourceTree is the better fit for experienced Git users or developers who have specific version control needs. It also is a natural choice for teams that are already dedicated Atlassian customers.