Guides
How to choose a Git client: visual or terminal, platforms, cost
Choose a Git client by visual or terminal style, operating system, cost and hosting. Compare GitHub Desktop, Lazygit, GitKraken, GitUI, Sourcetree and Tower.
Choose a Git client by whether you want a visual window or a terminal interface, which operating systems you use, and what it costs for the work you do. The Git client ranking favors free clients that run on several systems, then weighs visual depth, terminal workflows and paid features. This guide covers six of the products in that ranking.
Visual window or terminal interface
Graphical clients draw the commit history and make staging and branching visual. GitHub Desktop, GitKraken, Sourcetree and Tower work this way. Lazygit and GitUI are terminal interfaces that keep Git on the keyboard, and they suit people who already work in the terminal.
The terminal option has a learning curve. Lazygit has no graphical window, so newcomers need time to learn its keys. GitUI's key bindings also need learning before use. Lazygit covers staging individual hunks or lines, interactive rebase, cherry-picking, bisect and a commit graph, so the visual layer is there even without a window.
Feature depth varies too. Tower offers an undo option for Git actions and tools for pull requests, while GitKraken adds merge conflict resolution alongside its commit graph. Sourcetree draws branch diagrams and handles both Git and Mercurial repositories. Lazygit installs through common package managers on Linux, macOS and Windows, and GitUI is packaged for many Linux distributions. GitUI's README includes a benchmark written by its author, so treat its speed claims as the author's own.
Operating systems
Platform support splits the field. GitKraken, Lazygit and GitUI run on Linux, macOS and Windows. GitHub Desktop runs on macOS and Windows, and GitHub states that Linux is not officially supported, though community builds come from a fork of the project. Sourcetree runs on Windows and Mac, with no Linux version. Tower runs on Mac and Windows and does not run on Linux.
Cost and licensing
Three of the six are free and open source under the MIT license: GitHub Desktop, Lazygit and GitUI.
The other three charge in different ways. GitKraken is free for local and public repositories, but private repository access needs the paid Pro plan, and team plans are priced per seat. Sourcetree is free to download for Windows and Mac, and Atlassian also sells a Windows Enterprise version for managed deployments. Tower has no free plan for working professionals. It offers a 30-day trial that needs no credit card, and paid plans start at $69 per user a year for individuals. Enrolled students and educators can use it free.
GitKraken, Sourcetree and Tower are not open source.
Hosting services
GitHub Desktop is built for GitHub repositories, so it suits people who host their work there. Sourcetree suits teams that already use Atlassian tools. GitKraken connects to hosted repositories, and Tower includes tools for pull requests. A client that matches where your repositories live saves setup work.
Our picks and what to do next
The ranking places the clients covered here in this order, using editorial judgments against its criteria:
- GitHub Desktop: a simple free client for GitHub users.
- Lazygit: a visual layer over Git for people who work in the terminal.
- GitKraken: visual Git on Linux, Mac and Windows.
- GitUI: fast Git work in a terminal window.
- Sourcetree: Windows and Mac teams on Atlassian tools.
- Tower: Mac and Windows developers and designers.
The ranking also includes Sublime Merge (85.5), a paid Git client with line-by-line staging and commit editing on Mac, Windows and Linux. A license is needed for continued use, and business use is billed per user each year.
The full criteria are on the Git client ranking. Choose by three things: whether you want a window or a terminal, which operating systems you use, and whether you need private repositories or team features. GitHub Desktop, Lazygit and GitUI are free and open source. GitKraken is free for local and public repositories. A Linux desktop rules out GitHub Desktop, Sourcetree and Tower. Advanced Git operations may still need the command line, so keep a terminal close even when you use a graphical client.
Compare head to head
Mentioned in this article
GitHub DesktopFree, open-source Git client from GitHub for macOS and Windows
LazygitSimple terminal UI for everyday Git commands
GitKraken DesktopVisual Git client for Linux, Mac and Windows with a commit graph
GitUIFast terminal UI for Git that is free and open source
SourcetreeFree visual Git client for Windows and Mac from Atlassian
TowerVisual Git client for Mac and Windows with a 30-day free trial
Related lessons
Learning CenterKeep reading
All articles- Guides · 4 min readHow to choose a code editor: languages, platform and costChoose a code editor by language depth, platform, license and price. Compare VS Code, IntelliJ IDEA, Zed, Neovim and Xcode, plus a note on terminal tools.
- Guides · 4 min readHow to choose a terminal emulator: platform, tabs, licenseChoose a terminal emulator by operating system, built-in tabs and splits, and license. Compare WezTerm, iTerm2, Ghostty, Windows Terminal, kitty and Alacritty.
- Explainers · 4 min readWhat is a headless CMS? APIs, hosting models and when it fitsA headless CMS stores content and serves it through an API, with no built-in website. Learn how it differs from a traditional CMS and when it is overkill.











