1. Gitolite admin用户的添加:
— 本地gitadmin机器上单独建立一个gitadmin账户,将gitolite.rsa和gitolite.rsa.pub,复制到 /home/gitadmin/.ssh 之中,随后执行如下命令:
— chmod 700 /home/gitadmin/.ssh
— cd /home/gitadmin/.ssh
— chmod 600 gitolite.rsa
— chmod 644 gitolite.rsa.pub
— ln -sf gitolite.rsa id_rsa
— ln -sf gitolite.rsa.pub id_rsa.pub
随后git clone git@sxdevel.sdo.com:gitolite-admin.git克隆管理员仓库
2. 增加新用户
2.1 用户生成私钥公钥对:ssh-keygen(在usrname/.ssh下面) 2.2 gitadmin操作: 1. 将用户的公钥添加至keydir:— 用gitolite admin账户:sudo su – gitadmin
— cd gitolite-admin/
— cd keydir— cp ~usrname/.ssh/公钥名 ./
— git add usrname.rsa.pub
— git commit -m "add usrname"
— git push
2. conf中单个项目权限添加:
— gitadmin@ebdev-ThinkCentre-XXXX:~/gitolite-admin/conf$ pwd
/home/gitadmin/gitolite-admin/conf
— gitadmin@ebdev-ThinkCentre-XXXX:~/gitolite-admin/conf$cat gitolite.conf
repo projectname
RW+ = @all
2.3 git 服务器上操作:
1. 单个项目下gl-conf全线配置:
[root@localhost bbtouch.git]# pwd
/home/git/repositories/projectname.git
[root@localhost bbtouch.git]# vim gl-conf
%one_repo = (
' projectname ' => {
'@all' => [
[
2,
'RW+',
'refs/.*'
]
]
}
); 2. 用户公钥添加至authorized_keys [root@localhost .ssh]# pwd /home/git/.ssh [root@localhost .ssh]# vim authorized_keys # gitolite start command="/home/git/works/gitolite/src/gitolite-shell usrname.rsa",usr.rsa.pub中 需要将新用户的公钥文件中内容按格式拷贝到此
2.4 新增用户可以自行获取代码:git clone git@sxdevel.sdo.com:projectname.git
3. 查看创建的projectname.git是否归属git:ls -l
如果不是将会造成push失败:
cd /home/git/repositories/projectname.git
chown -R git.git *
补充两个查资料的时候看到的,结果我没有用上的,觉得应该会有用:
1. 做个初步的授权规划。
人员分成4组,管理员,开发者,测试人员和普通员工。好动手
$ vi conf/gitolite.conf
增加以下内容:
@admin = minstrel
@dev = zhangsan
@test = lisi
@staff = wangermazi
repo gitolite-admin
RW+ = @admin
repo hzjf/.+
C = @admin @dev
RW =@admin @dev
R = @staff @test
repo testing
RW+ = @admin@dev @test
$ git add conf/gitolite.conf
$ git commit -q -m "初步规划了组成员的权限"
$ git push
2. 有时候新添加账户不能立即生效,需要在git服务器上重启 sshd;
linux下 : $sudo service sshd restart
cygwin: $net stop sshd; $net start sshd