Gitolite is a lightweight Git server and access-control system that lets many human users share a single Unix account while enforcing fine-grained permissions. Configuration is “as code”: you manage users’ SSH keys and per-repo rules in a special admin repository, then push to apply changes instantly. Permissions are precise—read, write, or force-push can be allowed or denied per repository, branch, tag, or arbitrary ref patterns—so sensitive branches can be protected. Delegation features let large organizations hand off subsets of administration without giving away global control, and “wild” repositories make self-service project creation possible within policy. Hooks, logging, and auditing are baked in, giving visibility into who pushed what and when. Because it rides on plain SSH and standard Git, it’s fast, portable, and easy to host on anything from a low-power VPS to an enterprise server.
Features
- Fine-grained access control (per-repo, per-branch, per-user) via SSH keys
- Lightweight server installation—does not require root access for basic setup
- Manage repositories and permissions entirely via Git (config stored in a repo)
- Scales to hundreds or thousands of repos/users with ease
- Simple hook-based workflow for repo creation and administration
- GPL-2.0 licensed, with extensive documentation and community support