desktop git client

A Git client that stays fast when the history is real.

FluxGit is a desktop Git client for macOS, Windows and Linux. It draws a hundred thousand commits in about forty milliseconds, keeps a restore point before every operation that can lose work, and records who changed the repository - you, or an agent by the name it declared.

Free for public repositories. Public beta.

The graph, measured

Numbers from graph.layout.bench.ts, run on an Apple Silicon Mac. They are the layout pass, which is the part that grows with your history. Reproduce them with npx vitest bench; if they no longer hold, this page is wrong and gets corrected.

HistoryLayout
100,000 commits, linear42 ms
100,000 commits, 512 branches interleaved52 ms
100,000 commits, merge-heavy54 ms
100 new commits on top of 99,900 already drawn11 ms

The last row is the one you feel: pulling does not redraw the graph from scratch. The history is read with git's own graph traversal, and the canvas only builds paths for the commits inside the viewport.

What it does, as a Git client

Two things other Git clients do not do

A restore point before anything destructive. Reset, discard, branch deletion and force operations capture a way back first, and show you the risk and the preview before they run - not a confirmation dialog, the actual consequence.

An audit of who changed the repository. Git records commits. It does not record that something discarded your uncommitted work, or that an agent asked to reset a branch and you approved it. FluxGit keeps that: the operation, the actor - a person, or an agent by the name it declared over MCP - the restore point and the outcome, in a hash chain where a removed or edited entry is detectable. Writes that reached the repository outside FluxGit are recorded as unattributed, because the hook can see them happen and cannot say who ran them.

How the operation audit works

The graph, moving

Four branches alive at once, interleaved by date, with the working-copy node hanging off the commit you are actually on. Recorded from the application against a seeded history; no narration.

The audit, opened

Every operation FluxGit performed, who caused it, whether a restore point was captured, and whether the chain is intact. The push recorded as unattributed is one that reached the repository outside FluxGit: the hook saw it happen and cannot say who ran it.

Where it is honest about its limits

FluxGit is in public beta. The macOS builds are signed and notarized by Apple. The Windows installer is not code-signed yet, so Windows shows a SmartScreen warning the first time you run it. The Linux build is a .deb for x86_64.

Free mode opens public repositories on GitHub, GitLab.com and Bitbucket.org. Private, self-hosted and local-only repositories need a licence, and there is a 14-day trial of everything a licence unlocks, with no card.