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

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

生成服务器公钥私钥对

ssh-keygen
cp id_rsa.pub gitadmin.pub

下载gitolite源码

cd /home/git
git clone [email protected]: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 [email protected]: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 third03

repo    gitolite-admin
        RW+     =@admin

repo    testing
        RW+     =@all

repo	repoone
	RW+	=@dev @admin
	R	=@hudson

repo	repotwo
	RW+	=@dev @admin

repo	path/.+
	C	=@admin
	RW+	=@dev @admin
	R	=@hudson

repo	mail
	RW+	=@dev

repo	dev/.+
	C	=@dev
	RW+	=@dev
	R	=@hudson

repo	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 [email protected]