Host every repo.
Hand out exactly the
access you mean.
GitFork is a self-hostable, multi-tenant git host built on real git — with hierarchical access keys, smart-HTTP clone and push, and non-destructive mirroring to and from anywhere.
Own the server. Own the keys. Own the source.
$ git clone https://gitfork/acme/atlas.git
Cloning into 'atlas'...
Username: gfk_live_3f9c…
remote: ✓ read+write · expires 29d · 142 uses left
Receiving objects: 100% (1287/1287), done.Everything a git host should do — and nothing it shouldn't.
Three tightly-built subsystems: hierarchical access, real transport, and safe external sync. Each one does exactly what it says.
Hierarchical access keys
Company → user → repo → branch. Grant read or write, set expiry and usage caps, delegate over the API, mark public or private — access scoped to exactly what you mean, nothing wider.
Real git over HTTP
Native smart-HTTP transport. clone, fetch and push with the git you already have installed — no custom client, no agent, no lock-in. It is just git, hosted by you.
Safe mirror & sync
Mirror to or from GitHub and beyond — pull, push, or both; manual, timed, or on every commit. A merge only applies when it is fully clean; conflicts are recorded in a throwaway worktree and never touch your repo.
Trigger commits
Push a commit whose message says PULL REQUEST and a pull request opens itself. Turn push-time intent into action without ever leaving the command line.
Durable storage
Bare repositories live on disk for speed, with optional write-through S3 snapshots for durability. Cold-start hydration is built in — lose the box, keep the repos.
Multi-tenant by design
Opt-in tenancy isolates companies, users and repositories cleanly. Self-host a single team or a thousand from one install, and turn it on only when you need it.
Access that nests, the way your org does.
One key model from the company down to a single tag. Issue a key at any level; it can never grant more than the level above it.
Built for operators: OpenTelemetry tracing on every action, soft-delete tombstones, and the radical simplicity of a single SQLite file you can back up by copying it.
Spin up your own git host. Keep your source where it belongs.
Self-host GitFork in one container and run git on your terms — keys, mirrors, tenants and all.