gitmyhub

gitolite

Perl ★ 8.6k updated 3mo ago

Hosting git repositories -- Gitolite allows you to setup git hosting on a central server, with very fine-grained access control and many (many!) more powerful features.

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.

PerlGitSSHsetup: moderatecomplexity 3/5

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.

Where it fits