4.8 服务器上的 Git - Gitolite
Gitolite
本节作为Gitolite的一个快速指南,指导基本的安装和设置。不能完全替代随Gitolite自带的大量文档。而且可能会随时改变本节内容,因此你也许想看看最新的版本。
Gitolite是在Git之上的一个授权层,依托sshd
或者httpd
来进行认证。(概括:认证是确定用户是谁,授权是决定该用户是否被允许做他想做的事情)。
Gitolite允许你定义访问许可而不只作用于仓库,而同样于仓库中的每个branch和tag name。你可以定义确切的人(或一组人)只能push特定的"refs"(或者branches或者tags)而不是其他人。
安装
安装Gitolite非常简单, 你甚至不用读自带的那一大堆文档。你需要一个unix服务器上的账户;许多linux变种和solaris 10都已经试过了。你不需要root访问,假设git,perl,和一个openssh兼容的ssh服务器已经装好了。在下面的例子里,我们会用git
账户在gitserver
进行。
Gitolite是不同于“服务”的软件 -- 其通过ssh访问, 而且每个在服务器上的userid都是一个潜在的“gitolite主机”。我们在这里描述最简单的安装方法,对于其他方法,请参考其文档。
开始,在你的服务器上创建一个名为git
的用户,然后以这个用户登录。从你的工作站拷贝你的SSH公钥(也就是你用ssh-keygen
默认生成的~/.ssh/id_dsa.pub
文件),重命名为<yourname>.pub
(我们这里使用scott.pub
作为例子)。然后执行下面的命令:
$ git clone git://github.com/sitaramc/gitolite
$ gitolite/install -ln
# assumes $HOME/bin exists and is in your $PATH
$ gitolite setup -pk $HOME/scott.pub
最后一个命令在服务器上创建了一个名为