Public beta · free while it lasts

Every repository.
One glance.

The desktop Git client for the folder where all your repositories live. Alfa Git finds every repo in ~/Projects and shows which ones have work you forgot to commit.

Free during the beta · macOS (Apple Silicon), Windows x64 and Linux x64 · Updates itself

Alfa Git showing a workspace with twelve repositories, each with its own status
12 repos in one folder, one window
0 re-implementations the real Git CLI does the work
Live changes from your terminal show up on their own
No account no sign-up, no telemetry

Why another Git client

Most Git clients assume one repository at a time.
Your work doesn't.

A couple of services, a shared library, an app, something legacy nobody wants to touch — all in one folder. The question is rarely "what changed in this repo?" It's "which of my repositories have work I forgot to commit?" Alfa Git answers that in a glance, not a tour of twenty windows.

Workspace

Every repository at a glance

Point it at a folder once. Alfa Git finds every repository inside — worktrees, submodules and nested repos included — and gives each one a status dot: changes, conflicts, a merge or rebase in progress.

  • Workspace Changes: one line per repo, what needs attention first — conflicts, a stopped merge or rebase, commits to pull
  • Fetch All across every remote, with bounded concurrency
  • Workspace tabs to keep several projects at hand — drag them, or Alt+←/→, to reorder
Sidebar listing every repository of a workspace with its status

Workspace operations

One action, every repository

Pull All and Push All, a new branch across repositories or switching all of them to one — with a preview of the repositories each action touches before anything runs. Repositories with local changes in the way are asked about once: skip them, or stash and bring the changes back afterwards.

  • Checkpoints: save which branch every repository is on and switch them all back in one go — branches are never moved or reset
  • A results panel per repository, with Try again for the ones that failed
  • Open every repository in VS Code, Cursor, Zed or Sublime Text, or one terminal each
New branch across repositories, with the list of repositories it applies to

History

A graph that shows the structure

Every branch keeps its own colour — main is always blue — and its chip sits in the commit's row, with what there is to push (↑) and pull (↓). Commits are grouped under Today, Yesterday and earlier days; uncommitted changes sit on top, and every stash hangs off its commit.

  • Main line: only the main line, each merged branch folded into its merge with a +N pill
  • Fold merged: the commits a merge brought in become one row you can open
  • Right click to cherry-pick, revert, merge, rebase, reset or tag
  • Commit details with its files and diff side by side
  • Interactive rebase: drag to reorder, squash, fixup, reword, drop
  • File History and Blame: every commit that touched a file, and who last changed each line
  • Ctrl/⌘+F finds commits by message, author, branch, tag or hash
Commit graph with coloured branch chips, a stash, uncommitted changes and commits grouped by day

Worktrees

Every worktree, your agents' too

Each worktree of a repository appears under it in the sidebar — also the ones outside the workspace that Claude Code, Codex or Cursor create for each task, marked as agent. The Worktrees tab shows their branch, changes and ↑/↓ against the main worktree, and lets you open, compare, create and remove them.

  • The History marks the branches that are checked out in another worktree
  • Locked and dirty worktrees are never removed by accident; the branch is always kept
  • New to worktrees? Read the guide
Worktrees tab with a hotfix worktree and a locked worktree created by a coding agent

Changes

Stage, diff and commit

Merge, staged, unstaged and untracked groups — as a tree or as paths — with syntax-highlighted diffs that mark the exact words that changed inside each line. Amend, stash everything or just a few files, and discard with a confirmation from the OS itself.

  • Stage and unstage by file, or everything at once
  • Expand the context around a change, or read the whole file
  • Discard and clean, confirmed natively
  • Partial stashes, amend, pull modes
  • Generate with Codex suggests a message for the staged changes — off unless you turn it on
Staged changes with a word-level diff, the commit message and who you commit as

Git profiles

Always commit as the right person

The commit panel shows who you will commit as and where that identity comes from. Save your personal, work and client identities as profiles, and give one to a repository or to a whole folder of the workspace. Git stays the source of truth: profiles are written as Git config.

  • A profile can have its own SSH key, for a second account on the same host
  • Committing to a work remote with your personal e-mail warns you, with a one-click fix
  • Import the identities already in your ~/.gitconfig
Git Profiles dialog creating a work profile with its e-mail and remotes

Review

Review a branch like a pull request

Pick a base and a branch to compare: its commits, every file it changes and the diff, before you merge. Alfa Git simulates the merge in memory and tells you which files would conflict — without touching your working tree.

  • Mark files as Viewed; one the branch changes again comes back unread
  • Show a single commit or a range, not only the whole branch
  • Merge, squash or rebase from the header, like the button on a pull request
Review of feature/refunds against origin/main: its commits, changed files and diff

Conflicts

Decide by looking, not by reading markers

Each side of a conflict is a card: what it did to the file and which commit it comes from, with a button that says exactly what it will do. Fix it by hand in place when neither side is right.

  • Conflict blocks highlighted in the working file
  • Every version one tab away
  • Conflict 2 of 3 walks you through the rest
A conflict shown as one card per side

Rebase

A rebase you can follow

Clean up a branch before merging it: drag to reorder, then pick, reword, squash, fixup or drop each commit. While a rebase is stopped, the header says how far it got and the graph marks the plan: what is replayed, where it stopped, what is still to come.

  • Read from Git's own files, so it works for a rebase you started in the terminal
  • Warns before rewriting commits that are already published
Interactive rebase of an agent's branch with squash, fixup and reword

Editor

An editor for the small fix

Monaco, per repository, for the typo you don't want to switch apps for. Create, rename and delete files, resolve a conflict and stage — or jump to your real editor or terminal with one click.

  • Search files and text inside a repository
  • Open in your editor or terminal
The built-in editor with a file open

Terminal

A terminal in every repository

Your own shell, already in the repository, right under the graph. One tab per terminal, and they keep running while the panel is hidden — Ctrl/⌘+J brings them back.

  • Survives reloading the window; closing the app ends every shell
  • Your prompt as it is, Nerd Font icons included
  • Or open your usual terminal app in the repository
The built-in terminal under the commit graph, listing the worktrees of the repository

And the rest

Everything you reach for every day

Branches & tags

Create, checkout, rename and delete — local and remote. Annotated or lightweight tags.

Fetch, pull, push

Pull with merge or rebase, and auto-fetch per workspace on your schedule.

Watches every repo

A commit from your terminal or a stash from VS Code shows up without a refresh.

Favourites

Pin the repos you touch every day to the top of the list.

Per-workspace scan

Choose what to skip — node_modules, dist and friends are out by default.

Command log

Every Git command the app runs, with its exit code and real output, in the Output panel.

Hooks you can follow

A slow pre-commit or pre-push shows which hook runs and its last line of output — and Cancel stops it.

Checks your Git

No Git, or one too old? It says what's missing and how to install it on your system.

Keyboard first

Shortcuts for the sidebar, the terminal, search and review — listed in the menus and tooltips.

Repositories in WSL

On Windows, open \\wsl.localhost\…: every command runs the distribution's own Git, keys and config.

Open in browser

Jump to the repository's page on GitHub, GitLab or Harness, from its origin — SSH aliases included.

Work mode

Each repository you work on keeps its selection, open diffs and commit message while you switch.

Under the hood

Built on Git,
not around it.

No Git library, no bundled binary. Alfa Git drives the Git you already have installed, so what it shows is exactly what git says — and when something fails, you get the real error.

  • No shell, ever. Git runs with spawn(git, args[], { shell: false }); your input goes after --end-of-options or --.
  • Machine-readable output. --porcelain=v2 -z and field separators, parsed by small tested functions.
  • Careful with big folders. Never walks into .git, skips heavy directories, limits how many Git processes run at once.
  • Destructive means confirmed. Discard, clean, reset and deletes are confirmed by the OS.
  • Local only. No account, no cloud, no telemetry. Your code stays on your machine.

Pricing

Try it free during the beta

No trial clock, no feature gates, no credit card. Use all of Alfa Git for free during the beta and tell us what's missing. After the beta, it's $15 USD a year.

Public beta
$0during the beta

After the beta: $15 USD a year.

Everything the app does today, and every update along the way.

Download the beta

macOS · Windows · Linux · Git 2.30+

  • Unlimited workspaces and repositories
  • Commit graph, stashes and tags
  • Staging, diffs, amend and partial stashes
  • Branch review with conflicts predicted before merging
  • Conflict resolution and interactive rebase
  • File History, Blame and restoring a file from any commit
  • Built-in editor, terminal and repository search
  • Fetch All, auto-fetch and workspace operations
  • Worktrees, Git profiles and checkpoints
  • All updates during the beta

No account or card needed during the beta. We'll give plenty of notice before it ends.

Questions

Is it really free?

Yes. During the beta every feature is free, with no account and no card. After the beta, the price will be $15 USD a year, and we'll give plenty of notice before it ends.

Which platforms are supported?

macOS on Apple Silicon (M1 or newer), Windows 10 and 11 on x64, and Linux on x64: a .deb package for Ubuntu, Debian and their derivatives, and an AppImage that runs on the other distributions.

How do I install it?

Each system has its own steps in Download. On Windows, get it from the Microsoft Store: no warnings and no administrator rights. While Alfa Git is in beta the macOS build is not notarized by Apple yet, so macOS asks you to trust the app once (System Settings › Privacy & Security › Open Anyway).

How do I update it?

On Windows, the Microsoft Store updates it. On Linux (and with the Windows .exe installer), Alfa Git updates itself: it downloads new versions in the background and shows Restart to update in the toolbar; it installs when you click it. On macOS it tells you when a new version is out and brings you to this page to download it. If you fall several versions behind, it asks you to update so you don't miss anything. You can also look now from Help › Check for Updates….

Do I need Git installed?

Yes — Git 2.30 or newer. The .deb depends on it, so apt installs it if it's missing. Alfa Git uses your own Git, with your config, credentials and hooks, instead of shipping its own. Predicting conflicts in Review needs Git 2.38 or newer; the rest works from 2.30.

Does my code leave my machine?

Not unless you ask. There's no account, no cloud sync and no telemetry. The network traffic is the Git you ask for (fetch, pull and push to your own remotes) and the check for new versions on GitHub, which sends nothing about you or your repositories. If you turn on commit messages with Codex (off by default, per workspace), pressing Generate with Codex sends the staged changes to the Codex installed on your computer, which sends them to OpenAI with your ChatGPT account.

What is a good Git client for managing many repositories at once?

Alfa Git is built for exactly that. Open the folder where your repositories live (say ~/Projects, with services, libraries and apps) and it lists every repository inside — worktrees, submodules and nested repos included — with its own status. Workspace Changes shows which ones have uncommitted work, conflicts or commits to pull, and Fetch All updates them together.

Does it work with the worktrees Claude Code or Codex create?

Yes. Coding agents usually work each task in its own git worktree, often outside your projects folder (.claude/worktrees/…). Alfa Git finds them through the repository they belong to, lists them under it in the sidebar marked as agent, and shows their changes so you can review them before merging. The worktrees guide explains how it all works.

Does it work with GitHub, GitLab and Bitbucket?

Yes. Alfa Git uses the Git installed on your machine, so it fetches, pulls and pushes to any remote Git can reach — GitHub, GitLab, Bitbucket, Azure DevOps or your own server — with your existing SSH keys and credential helper. There is nothing to sign in to.

How is it different from GitKraken, Fork or SourceTree?

Those are great at one repository at a time. Alfa Git is built around a folder with many repositories: it scans it once and shows the status of all of them together, then gives you a full client per repo.

Download

Get the beta for your system

Free during the beta, no account needed. Pick your system for the file and the steps to install it.

macOS

Apple Silicon (M1 or newer)

Download for macOS .dmg · Apple Silicon
Beta

This is a beta, not a production release. Alfa Git is in public beta and not notarized by Apple yet, so the first time you open it macOS says it cannot verify the app. You tell macOS you trust it once, and from then on it opens like any other app.

  1. Open the .dmg and drag Alfa Git into Applications.
  2. Open Alfa Git from Applications. macOS blocks it the first time: close the warning with Done (not “Move to Trash”).
  3. Trust it: open System Settings › Privacy & Security, scroll down to Security and click Open Anyway next to “Alfa Git was blocked”. Confirm with your password or Touch ID.
  4. Open it again and click Open. That’s it: macOS remembers your choice.
macOS says the app “is damaged”, or you prefer the terminal?

That is the same beta warning worded differently. Remove the quarantine flag that macOS puts on downloads and open it again:

xattr -dr com.apple.quarantine "/Applications/Alfa Git.app"

Updates: Alfa Git checks for new versions and shows vX.Y.Z available in the toolbar; it brings you back here to download it. Replace the app in Applications and trust it once more (only while we are in beta). Needs Git 2.30+: xcode-select --install installs it.

Windows

Windows 10 and 11 · x64

Get it from Microsoft Store Microsoft Store · x64
Beta

This is a beta, not a production release. On Windows, Alfa Git comes from the Microsoft Store: signed by Microsoft, with no SmartScreen warning, and the Store keeps it up to date.

  1. Click Get it from Microsoft Store. The Store app opens on Alfa Git’s page (or the web page, if the Store app is not available).
  2. Click Get (or Install). No account or administrator rights needed.
  3. Open Alfa Git from the Store or the Start menu.

Already installed it with the .exe? Uninstall that copy first from Settings › Apps, so you don’t end up with two. Your workspaces and settings are kept.

Can’t use the Microsoft Store? Download the .exe installer

The same app as a classic installer, for your user only. It is not code-signed yet, so Windows SmartScreen may stop it the first time: click More info and then Run anyway. If Smart App Control is on (Windows 11), Windows blocks it with no way to run it: use the Microsoft Store. It updates itself and shows Restart to update in the toolbar.

Download the .exe installer

Updates: the Microsoft Store updates Alfa Git on its own, like any other Store app. Needs Git for Windows 2.30+.

Linux

x64 · Ubuntu, Debian and derivatives, or any distro

  1. Ubuntu, Debian and derivatives: install the .deb with apt from the folder where you saved it: sudo apt install ./alfa-git_*_amd64.deb. apt installs Git if it is missing.
  2. Other distributions: download the AppImage, make it executable with chmod +x Alfa-Git-*.AppImage and open it (it needs libfuse2).
  3. To remove the .deb: sudo apt remove alfa-git.

Updates: Alfa Git updates itself and shows Restart to update in the toolbar; the .deb asks for your password to install, like any package.

All files and release notes are on GitHub Releases.