Why I use gitolite
Whereas github is great for hosting your public repositories, as soon as you want to use many private remote repositories you should consider other options.
First because it's going to cost you some money and because it's always a good idea to avoid scatter your private stuffs on external server (Yes I know, as a google minion I'm not a good example...)
Among the many options to hosts your remote git repo, I've found gitolite to be the best one to suit my needs, let me explain why :
* I firmly believe in the KISS principle, and the fact that you don't need to use another daemon (it just uses sshd) is very appealing to me. (Other solutions often requiring to setup an apache/Webdav vhosts, git-daemon or whatever)
* Fine-grained access control : gitolite really shines in this aspect
In addition to the usual read/write/read&write gitolite provides access to 'non-fast forward push', branches creation/deletion, write deny and extends the targets to not only repositories but also branches/tags
* It's simple ! It's simple to install, simple to configure. Don't even need to read the doc to understand :
* Even if it relies on ssh as a basis for its authentication, it uses virtual users and doesn't require the users to have an account on the server
* It's configuration is versioned, gitolite-admin is a default repo managed by gitolite enabling remote administration through git. The whole gitolite configuration is self-contained.
* Other features you might like (but that I don't use)
First because it's going to cost you some money and because it's always a good idea to avoid scatter your private stuffs on external server (Yes I know, as a google minion I'm not a good example...)
Among the many options to hosts your remote git repo, I've found gitolite to be the best one to suit my needs, let me explain why :
* I firmly believe in the KISS principle, and the fact that you don't need to use another daemon (it just uses sshd) is very appealing to me. (Other solutions often requiring to setup an apache/Webdav vhosts, git-daemon or whatever)
* Fine-grained access control : gitolite really shines in this aspect
In addition to the usual read/write/read&write gitolite provides access to 'non-fast forward push', branches creation/deletion, write deny and extends the targets to not only repositories but also branches/tags
* It's simple ! It's simple to install, simple to configure. Don't even need to read the doc to understand :
@admins = arnaud jeff
@team1 = jeff bob
@team2 = arnaud jeff
repo gitolite-admin
RW+ = @admins
repo testing
RW+ = @team1 arnaud
repo kronar
RW+ = @team1 @team2
* Even if it relies on ssh as a basis for its authentication, it uses virtual users and doesn't require the users to have an account on the server
* It's configuration is versioned, gitolite-admin is a default repo managed by gitolite enabling remote administration through git. The whole gitolite configuration is self-contained.
* Other features you might like (but that I don't use)
Informational commands (info, expand)
disable write to git during backup (sysadmins will like this one...)
gitweb support
...
Commentaires