Repolode
sitaramc

sitaramc/gitolite

Self-hosted Git server on a Unix machine with fine-grained, per-branch and per-tag access control managed through a config repo.

Open-source alternative to:GitHubGitLab

Stars
8,597
Forks
1,004
Open issues
6
Last commit
23 days ago

What is it?

Gitolite sets up Git hosting on a central server over SSH. Users and repositories are not created by hand on the server; instead, an administrator edits configuration files in a special repository called gitolite-admin and pushes the changes, and gitolite updates the server's SSH keys and repos accordingly.

Access rules can be defined per repository, per branch, and per tag, with levels such as read, write, and forced push (rewind). Users and repos can be grouped to simplify rules. Users can run simple commands over SSH, such as listing the repositories they can access.

The project targets administrators who want to host private Git repositories on their own machine with precise permissions, without a web interface. Its full documentation covers topics such as migration, troubleshooting, and running over HTTP.

Key features

  • 01Manages users and repos through a git-tracked configuration repository.
  • 02Sets access levels per repository, branch, and tag using regex-based ref patterns.
  • 03Supports grouping users and repos for simpler access rules.
  • 04Provides SSH commands such as info and help for users to see their permissions.

Use cases

  • Hosting private Git repositories for a small team on a single Linux server.
  • Enforcing branch protection such as preventing forced pushes to master.
  • Giving read-only access to some users while others can push to specific repos.

Quick start

  1. 1

    Clone the gitolite source repository

    git clone https://codeberg.org/sitaramc/gitolite
  2. 2

    Create a bin directory for the install

    mkdir -p $HOME/bin
  3. 3

    Install gitolite into that directory

    gitolite/install -to $HOME/bin
  4. 4

    Set up gitolite with yourself as administrator (place your public key as YourName.pub first)

    gitolite setup -pk YourName.pub

Things to know

  • Requires a dedicated Unix-like server account and SSH setup; not suited to Windows-only hosts.
  • Setup needs a fresh userid with SSH key access, so it takes manual server administration effort.
  • Licensed under GPL v2, which is copyleft for derivative distributions.

Topics

FAQ

What is gitolite?
Self-hosted Git server on a Unix machine with fine-grained, per-branch and per-tag access control managed through a config repo. Gitolite sets up Git hosting on a central server over SSH. Users and repositories are not created by hand on the server; instead, an administrator edits configuration files in a special repository called gitolite-admin and pushes the changes, and gitolite updates the server's SSH keys and repos accordingly.
Is gitolite free to use? What license does it have?
gitolite is open source under the GPL-2.0 license. Check the license terms before using it in commercial products.
Is gitolite still maintained?
Actively maintained. The last commit to gitolite was on Sep 29, 2026.
What can I use gitolite for?
Hosting private Git repositories for a small team on a single Linux server. Enforcing branch protection such as preventing forced pushes to master. Giving read-only access to some users while others can push to specific repos.
How do I install gitolite?
Clone the gitolite source repository: git clone https://codeberg.org/sitaramc/gitolite Create a bin directory for the install: mkdir -p $HOME/bin Install gitolite into that directory: gitolite/install -to $HOME/bin Set up gitolite with yourself as administrator (place your public key as YourName.pub first): gitolite setup -pk YourName.pub
Where can I get gitolite?
The source code and installation instructions are on GitHub: https://github.com/sitaramc/gitolite

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects