安装gitolite并且下载repo
repo应该放在/usr/local/bin下面,我用的ubuntu的系统
然后用gitolite-admin.git来进行管理
conf下面是权限管理文件,keydir下面是各种密钥
ssh的密钥通过sshkey-gen来生成,使用xxx.pub的公钥
单独建立一个git的用户,可以配置成没有shell的,不能直接登录,每次使用sudo su - git来切换用户
然后在里面就可以建立仓库了,xxx.git,各种.git仓库
然后对每个仓库都要进行初始化git --bare init
用下面的脚本来初始化下
#/bin/bash
#$0为当前运行的程序名称
#$1为传入的第一个参数
#第一个参数为目录名,将要遍历其下的所有目录
#echo "\$1:" $1
function scandir()
{
local cur_dir parent_dir workdir
workdir=$1
cd ${workdir}
if [ ${workdir} = "/" ]
then
cur_dir=""
else
cur_dir=$(pwd)
fi
for dirlist in $(ls ${cur_dir})
do
#echo ${dirlist}
fileCount=$(ls ${dirlist} | wc -l)
if [ ${fileCount} -gt "0" ]
then
#这个目录已经被初始化过了
cd ${dirlist}
cd ..
else
#这个目录是空的
cd ${dirlist}
git --bare init
cd ..
fi
done
}
if test