Free Git client for macOS, Windows and Linux
The free Git GUI that shows your whole repository. Change it with confidence.
See every branch in a clear commit graph, stage single lines, merge, rebase and undo with one click. Your repositories stay on your computer, private ones included, with zero telemetry.
Free · macOS 13+ (Apple silicon and Intel) · Windows 10 and 11 · Linux: Ubuntu 22.04+ and Debian 12+

A product demo without sound. The commit graph shows several branches. A branch is right-clicked and merged into main, and the merge dialog warns that it will stop with a conflict in one file. The three-way conflict editor opens with the current side, the incoming side and the output below. The incoming change is taken, the file is saved as resolved and the merge is committed, which adds a merge commit to the top of the graph.
Ready in a minute
Sign in once with a free GitTree account, then open any repository.
Stays on your computer
Your code never leaves your machine. Only your account lives online.
Zero telemetry
Nothing is tracked. The only network traffic is what you start.
Your own Git
Every command runs through the Git you already have installed.
- commits scroll smoothly in the graph
- 100K+
- bytes of telemetry, ever
- 0
- feature areas, from staging to pull requests
- 12
- platforms: macOS, Windows and Linux
- 3
Built for how you really work
Every Git workflow, in one clear window
Repository tabs, a reference sidebar, the commit graph and a details panel — the layout experienced developers expect, with nothing hidden behind menus.
A commit graph you can actually read
Every branch gets its own colour-coded lane, so merges, releases and feature work read at a glance — even in repositories with years of history.
- Smooth scrolling well past 100,000 commits
- Branch, remote and tag labels right on the graph
- Avatars and relative dates for every commit

Stage exactly what you mean to commit
Open any changed file and stage the whole file, a single hunk or individual lines. The diff is right there, so every commit tells one clean story.
- File, hunk and line-level staging
- Discard asks first and can be undone
- Amend, co-authors and message checks

A product demo without sound. In a diff with two hunks, a range of lines is picked with a click and a shift-click. Stage Lines moves just those lines to the staged files. A commit summary, feat(search): highlight matches, is typed and the commit is created.
Merge and rebase without memorising flags
Right-click any branch and choose what should happen. Every menu names both branches — “Merge feature/search into develop” — so there is never a guess.
- Merge, rebase and fast-forward
- Soft, mixed and hard reset with a clear warning
- Create worktrees, tags and pull requests

Clean up history before you share it
Reorder commits by dragging, then squash, fix up, reword or drop them. GitTree shows exactly what will be replayed before anything changes.
- Pick, reword, edit, squash, fixup and drop
- Keyboard shortcuts for every step
- Snapshots so a rebase can always be undone

A product demo without sound. The interactive rebase editor lists five commits. The fixup commit is set to Fixup and the wip commit to Squash, and the editor shows the combined message. Start Rebase rewrites the branch from five commits to three, and Undo then puts the original history back.
Keep your hands on the keyboard
Press ⌘⇧P or Ctrl+Shift+P to run any command, jump to a branch, find a commit or open a file. Every shortcut can be rebound.
- Commands, refs, commits and files in one search
- Rebindable keyboard shortcuts
- Built-in terminal at the repository root

A product demo without sound. The command palette opens. Typing @ and part of a branch name jumps the graph to that branch, typing # and part of a message jumps to that commit, and a keyboard shortcut returns to the current commit.
Every command, one click away
The Git you know, made visible
- $gitcommit-m "feat: ship it"
- $gitrebase-i HEAD~4
- $gitcherry-picka3f9c1e
- $gitstashpush -u
- $gitmerge--no-ff feature/graph
- $gitworktreeadd ../hotfix main
- $gitpush--force-with-lease
- $gitbisectstart
- $gitblamesrc/app.ts
- $gitreset--soft HEAD~1
- $gitreflog
- $gitlfstrack "*.psd"
Diff, blame and history
Understand every change before it ships
Read a commit’s changes as a split or inline diff with syntax highlighting for dozens of languages. Follow a file through renames, see who changed each line and compare any two revisions.
- Split and inline diff views
- Blame and file history that follow renames
- Compare branches, tags or any two commits

Commit with care
Write better commits, faster
A focused commit panel shows what is staged, counts your summary against the 72-character convention and remembers recent messages. Amend the last commit or add co-authors with one click.
- Live summary length check
- Recent messages and commit templates
- Amend, co-authors and signed commits

Terminal included
The command line is always one click away
Open a terminal docked under the graph, already in your repository. Run tests or scripts, then watch the graph update as soon as Git changes.
- Terminal opens at the repository root
- Your own shell and profile
- Graph refreshes when the repository changes

Open, clone, init
Every repository, one tab away
Open local repositories, clone over HTTPS or SSH, or start a new one. Tabs, favourites and workspaces keep all your projects close, and your session comes back exactly as you left it.
- Shallow, sparse and blobless clones
- Favourites, recent repositories and workspaces
- Scan folders to find existing repositories

Why GitTree
A Git client that does more, for free
Features you would expect from a paid Git GUI, in a free app for macOS, Windows and Linux.
AI commit messages with your own agent
Draft commit messages and pull request descriptions with the Claude Code, Codex or Antigravity CLI you already use. Nothing is sent until you click Generate, and there are no credits to buy.
GitHub, GitLab, Bitbucket and Azure DevOps
Browse, clone and publish repositories, review pull and merge requests and re-run CI checks. GitLab, Azure DevOps and self-hosted servers are new and improving fast.
See conflicts before they happen
GitTree warns beside a branch when merging it would conflict, and its three-way editor resolves the rest hunk by hunk or line by line.
Undo almost anything
Undo a commit, checkout, reset, rebase, discard or a deleted branch or tag from the toolbar. Steps that cannot be reversed in place, such as a force-push, still keep a recoverable snapshot.
In English and Arabic
Use the whole app in English or in Arabic, with a full right-to-left layout. The graph, diffs and terminal stay left to right.
Small, fast and native
Built with Rust. The Mac app is about 20 MB, the Windows installer about 7.5 MB and the Linux .deb about 11 MB, and the graph stays smooth past 100,000 commits.
Safe by design
You can’t lose work by clicking the wrong button
Git is powerful, and powerful tools deserve safety rails. GitTree snapshots your work before anything destructive and lets you undo it.
Undo and redo
Reset, discard, delete and rebase can be reversed from the toolbar.
Snapshots first
Destructive actions save a recoverable copy before they run.
Safer force-push
Force-push uses --force-with-lease, so it never overwrites work you haven’t seen.
Cancel by default
Dangerous dialogs focus Cancel and say exactly what will happen.
Complete toolkit
Everything you need, from the first commit to the release tag
GitTree covers the commands developers use every day, plus the advanced ones you reach for when something needs fixing.
Commit graph
See the shape of your history and act on it directly.
Colour-coded branch lanes · Fast on huge repositories · Labels on the graph · Search and filter · Work in progress row
Staging and commits
Build precise commits without leaving the app.
File, hunk and line staging · Discard with a safety net · Commit, amend and co-authors · Message checks · Signed commits · Stash selected lines · .gitignore editor
Diff, blame and history
Understand what changed, when and why.
Split and inline diffs · Blame · File history · Compare anything · Image diffs · Markdown preview
Branches and tags
Create, switch and tidy branches in seconds.
Create, rename and delete · Checkout with protection · Tags · Upstream tracking · Git Flow
Merge, rebase and conflicts
Combine work with a clear view of the outcome.
Merge and fast-forward · Rebase · Cherry-pick and revert · Reset · Conflict resolution tool · Conflict prediction · Overlapping work
Rewrite history and undo
Polish commits before they are shared, and reverse mistakes.
Interactive rebase · Quick edits · Undo and redo · Reflog · Bisect
Stash, worktrees, submodules and LFS
Juggle parallel work without losing track.
Stash · Worktrees · Submodules · Git LFS · Patches
Remotes and sync
Fetch, pull and push with full visibility.
Fetch, pull and push · Safe force-push · Multiple remotes · Shallow history
GitHub, GitLab, Bitbucket and Azure DevOps
Your hosting accounts, inside your Git client.
Connect accounts · Browse and clone · Pull and merge requests · Pull request dashboard · CI checks · Issues · Publish
AI drafts with your own agent
Let the AI coding tool you already use write the first draft.
Commit messages · Pull request descriptions · Your instructions · Nothing sent unless you click
Speed and productivity
Built for people who live in their Git client.
Command palette · Rebindable shortcuts · Built-in terminal · Tabs and workspaces · Custom commands
Preferences and customisation
Make GitTree fit the way you work.
Searchable preferences · Themes · English and Arabic · Accessible by design · SSH and signing · External tools · Profiles
Privacy and security
Local-first by principle, not by setting.
Your code stays local · Zero telemetry · Secrets in the keychain · Untrusted repositories · Your config stays yours
Native on every platform
Made for macOS, Windows and Linux
A small, fast desktop app built with Rust. It respects each platform’s window controls, shortcuts, keychain and file system.
GitTree for macOS
macOS 13 Ventura or later
One universal app for Apple silicon (M1–M4) and Intel Macs.
Download for macOSUniversal .dmg · v1.3.0 · 20.8 MBGitTree for Windows
Windows 10 (22H2) or Windows 11, 64-bit
A native 64-bit Windows app with its own window chrome, installed for every user of the computer.
Download for Windowsx64 installer (.exe) · v1.3.0 · 7.6 MBGitTree for Linux
Ubuntu 22.04 or later, Debian 12 or later, 64-bit
For Ubuntu and Debian: a .deb package that apt installs for you, or a portable AppImage. It uses your desktop’s own window title bar.
Download for Linux.deb package (x86_64) · v1.3.0 · 11.4 MBOther formats: AppImage (portable)
Compare Git clients
Switching from another Git client?
Honest, sourced comparisons with the Git GUIs developers use most, including what each one does better.
GitKraken alternative
Private repositories, deep undo and AI drafts with your own CLI at no cost, compared row by row with GitKraken Desktop.
Sourcetree alternative
Runs on Linux too, with a built-in conflict editor, undo and in-app pull requests, compared row by row with Sourcetree.
GitHub Desktop alternative
A commit graph, full interactive rebase and an official Linux build, compared row by row with GitHub Desktop.
Fork alternative
A Linux build, no licence to buy, undo and pull requests in the app, compared row by row with Fork.
Tower alternative
No subscription, a Linux build and a line-level conflict editor, compared row by row with Tower.
SmartGit alternative
Free for commercial use with no licence application, plus a docked terminal, undo and AI drafts, compared row by row with SmartGit.
Sublime Merge alternative
No licence to buy, plus pull requests, a drag-and-drop rebase plan and undo, compared row by row with Sublime Merge.
Frequently asked questions
Straight answers about GitTree, privacy and platforms.
What is GitTree?
GitTree is a free desktop Git client (a Git GUI) for macOS, Windows and Linux. It shows your repository as an interactive commit graph and lets you stage, commit, branch, merge, rebase, stash and push without typing Git commands.
Is GitTree free?
Yes. GitTree is free to download and use, private repositories included, for individuals and organizations. There is no subscription and no trial; you sign in with your GitHub, GitLab, Bitbucket or Azure DevOps account.
Is it GitTree or Git Tree?
Both: the website writes GitTree and the installed app is called Git Tree. GitTree is a desktop Git GUI app for Mac, Windows and Linux made by Eslam Faisal. It is not the git tree command or a website that draws repository trees.
Is GitTree open source?
No. GitTree is free to use, but its source code is private. The installers, release notes and checksums are published in the public GitHub repository, and you can report bugs and request features there.
Do I need an account to use GitTree?
Yes, a free one. GitTree asks you to sign in once with a GitTree account, which you create on this website with GitHub, GitLab, Bitbucket or Azure DevOps. Connecting GitHub or Bitbucket accounts in the app, for your remote repositories and pull requests, is a separate and optional step.
Does GitTree collect any data?
No. GitTree has no telemetry, and your code stays on your computer. With default settings the app only talks to the remotes you fetch from or push to, the accounts you connect, the GitTree account service for sign-in and an update check you can switch off. If you choose to draft a commit message with AI, the staged changes go to the AI tool you picked, only when you click. The privacy page lists what your account stores.
Which operating systems are supported?
macOS 13 Ventura or later on Apple silicon and Intel Macs (one universal app), 64-bit Windows 10 (22H2) and Windows 11, and 64-bit Linux: Ubuntu 22.04 LTS or later and Debian 12 or later, plus derivatives that ship WebKitGTK 4.1, such as Linux Mint 21+ and Pop!_OS 22.04+ (only Ubuntu and Debian are tested).
Do I need Git installed?
Yes. GitTree uses the Git you already have (version 2.39 or newer), so everything it does matches what the command line would do. If Git is missing, the app explains how to install it.
Does it work with GitHub, GitLab, Bitbucket and Azure DevOps?
Yes. GitTree works with any Git remote over HTTPS or SSH. Connect GitHub, GitLab, Bitbucket or Azure DevOps accounts (including GitHub Enterprise Server and Bitbucket Data Center) to browse and clone repositories, review pull or merge requests and see their CI checks. GitHub and Bitbucket Cloud are the most mature; the others are new.
Does GitTree have AI features?
Yes, with your own AI agent. GitTree can draft commit messages and pull request descriptions through the Claude Code, Codex or Antigravity CLI installed on your computer. It runs only when you click Generate, GitTree stores no AI key, and there are no credits to buy.
Is GitTree available in Arabic?
Yes. The whole app can be used in English or in Arabic, with a full right-to-left layout; the commit graph, diffs and terminal stay left to right. This website is in both languages too.
Can I undo a mistake?
Yes. Destructive operations such as reset, discard, branch deletion and rebase save a recoverable snapshot first, and the toolbar’s Undo and Redo buttons reverse them.
Give your repositories the tool they deserve
Download GitTree for free on macOS, Windows or Linux and open your first repository in seconds.