Host private Git repositories on your own Linux server with fine-grained per-user and per-branch access rules
Give team members read-only access to some repos and push access to others without touching the server directly after initial setup
Restrict who can push to the main branch while allowing all developers to push to feature branches
Add a new user or repository to the server by editing a config file and pushing it, no SSH login to the server required
| sitaramc/gitolite | major/mysqltuner-perl | sullo/nikto | |
|---|---|---|---|
| Stars | 8,575 | 9,452 | 10,359 |
| Language | Perl | Perl | Perl |
| Setup difficulty | moderate | easy | easy |
| Complexity | 3/5 | 2/5 | 2/5 |
| Audience | ops devops | ops devops | ops devops |
Figures from each repo's GitHub metadata at analysis time.
Requires a Linux server with SSH access and a dedicated user account, no web UI, all management is done via git push.
Gitolite is a tool for running your own Git hosting server. You install it on a Linux or Unix machine under a dedicated user account (typically called "git"), and it lets you host multiple Git repositories there while controlling who can access what through a simple configuration file. The main idea is that access control is managed by editing a special repository called gitolite-admin and pushing changes to the server. No direct file editing on the server is needed after initial setup. To add a new user, you add their SSH public key to a keydir folder in that admin repository. To create a new repository and set permissions, you edit a config file that looks like a short list of rules. Permissions are expressed as simple lines. You can grant read-only access, allow pushing to branches, or give full access including the ability to delete branches and rewrite history. Rules can target specific branch or tag name patterns, so you can say, for example, that one person can push to any branch but not to master. You can also define groups of users and apply rules to a whole group at once. Users connect over SSH. They can run a handful of remote commands, such as listing the repositories they have access to by running a simple ssh command to the server. No web interface is included. This is a command-line and SSH-based tool. The README on GitHub is intentionally minimal and covers only basic installation and first use. Full documentation including advanced features, HTTP-based hosting, migration from older versions, and troubleshooting lives at gitolite.com/gitolite. The software is licensed under GPL v2.
Gitolite lets you run your own Git server on a Linux machine and control who can access which repositories through a simple text config file, no web interface, all managed via SSH and a push to an admin repository.
Mainly Perl. The stack also includes Perl, Git, SSH.
Free to use and modify, but any modified versions you distribute must also be released as open source under the same GPL v2 license.
Setup difficulty is rated moderate, with roughly 1h+ to a first successful run.
Mainly ops devops.
This repo across BitVibe Labs
Verify against the repo before relying on details.