在服务器上创建git用户和组

groupadd -g gid gituseradd -u uid -g gid -d /home/git git passwd git

生成服务器公钥私钥对

ssh-keygencp id_rsa.pub gitadmin.pub

下载gitolite源码

cd /home/gitgit clone git@github.com:sitaramc/gitolite.git

查看说明文档

vim README.markdown

创建gitolite安装目录

mkdir -p $HOME/bin

安装

gitolite/install -to $HOME/bin

设置环境变量(CentOS)

vim .bashrc    export GITOLITE_HOME=/home/git/    export PATH=$PATH:$GITOLITE_HOME/bin

设置服务器本地为gitolite管理账户

gitolite setup -pk YourName.pub

这时/home/git目录下就会出现repositores目录

在服务器上clone下gitolite-admin库进行源码库和权限的设置

git clone git@www.testhost.com:gitolite-admin.git

添加普通用户

开发人员或其他需访问git源码库的人员在自己使用的电脑上运行

ssh-keygen

将生成的pub文件更改文件名后上传的gitolite-admin库中,pub文件上传至keydir目录下,另外

修改conf目录下的gitolite.conf文件,文件格式如下:

@admin=gitadmin@dev=gitadmin dev01 dev02 dev03 @hudson=hudson01@third=third01 third02 third03repo    gitolite-admin        RW+     =@adminrepo    testing        RW+     =@allrepo	repoone	RW+	=@dev @admin	R	=@hudsonrepo	repotwo	RW+	=@dev @adminrepo	path/.+	C	=@admin	RW+	=@dev @admin	R	=@hudsonrepo	mail	RW+	=@devrepo	dev/.+	C	=@dev	RW+	=@dev	R	=@hudsonrepo	path1/path2/path3/.+	R	=@third	RW+	=@third	- master develop V1.0.0 V2.0.0 =@third

上面的文件有用户分组、源码库、路径匹配(path1/path2/path3/.+)、分支权限控制(- master develop V1.0.0 V2.0.0)等功能 

备注

    SSH、SFTP无密码登陆设置

SSH客户端运行ssh-keygen生成公钥后,运行一下命令,将公钥文件发送到远端服务器上去

ssh-copy-id -i ~/.ssh/username.pub git@www.testhost.com