Gitolite vs Gogs: What are the differences?
Developers describe Gitolite as "Setup git hosting on a central server, with fine-grained access control". Gitolite allows you to setup git hosting on a central server, with fine-grained access control and many more powerful features. Gitolite is an access control layer on top of git. On the other hand, Gogs is detailed as "A self-hosted Git service written in Go". The goal of this project is to make the easiest, fastest and most painless way to set up a self-hosted Git service. With Go, this can be done in independent binary distribution across ALL platforms that Go supports, including Linux, Mac OS X, and Windows.
Gitolite and Gogs can be primarily classified as "Code Collaboration & Version Control" tools.
Some of the features offered by Gitolite are:
- Use a single unix user ("real" user) on the server.
- Provide access to many gitolite users: they are not "real" users, so they do not get shell access.
- Control access to many git repositories: read access controlled at the repo level, and write access controlled at the branch/tag/file/directory level, including who can rewind, create, and delete branches/tags.
On the other hand, Gogs provides the following key features:
- Activity timeline
- SSH/HTTP(S) protocol support
- SMTP/LDAP/reverse proxy authentication support
"Easy setup" is the top reason why over 4 developers like Gitolite, while over 32 developers mention "Self-hosted github like service" as the leading cause for choosing Gogs.
Gitolite and Gogs are both open source tools. It seems that Gogs with 30.8K GitHub stars and 3.56K forks on GitHub has more adoption than Gitolite with 7.45K GitHub stars and 961 GitHub forks.