对于gitolite要明确几个概念,“gitolite服务器”,“gitolite管理员”,“gitolite普通用户”。gitolite服务器即为上面安装git的server,“gitolite管理员”是我的管理员电脑,“gitolite普通用户”是我的开发组的其他组员。
1.【gitolite服务器】上建立git用户
# adduser git
2.【gitolite管理员】生成管理员的公钥和私钥,如用root为管理员
# ssh-keygen -t rsa -f ~/.ssh/git_admin
通过其他各种方式将 公钥 ~/.ssh/git_admin.pub 上传到 【gitolite服务器】/home/git/下,如
# scp ~/.ssh/git_admin.pub git@server:~/git_admin.pub
或者【gitolite服务器】与【gitolite管理员】是同一台服务器的不同用户
(或者把gitolite服务器的root作为管理元
#root: ssh-keygen -t rsa
#root: cp /root/.ssh/id_rsa.pub /home/git/git_admin.pub
)
# sudo mv ~/.ssh/git_admin.pub /home/git/git_admin.pub
3.【gitolite服务器】安装gitolite(必须在git用户下)
切换到git用户 /home/git下(或者其他目录下但是必须是git用户)
# sudo su - git
克隆gitolite源码
# git clone git://github.com/sitaramc/gitolite
创建bin目录用于安装gitolite
# mkdir bin
# ./gitolite/install -to ~/bin
# ~/bin/gitolite setup -pk ~/git_admin.pub
4.【gitolite管理员】管理员下载管理库
# git clone git@server:gitolite-admin.git
gitolite-admin 目录下有,conf 和 keydir
5.【gitolite普通用户】创建开发用用户
生成管理员的公钥和私钥
# ssh-keygen -t rsa
通过其他各种方式将 公钥 如,id_rsa.pub 上传到 【gitolite管理员】“gitolite-admin/keydir/<用户名>.pub"
repo gitolite-admin
RW+ = git_admin netlai
repo lailei/hello
RW+ = netlai
repo lailei/tp51
RW+ = netlai
备注:
克隆下来后,如果你有需要,就根据自己的要求修改其中的一些配置后,再安装。因为默认的配置安装后的库地址,是在当前用户目录下的repositories中。
我的需求就是我们以前有了git库,我去改动啥的就有点不好。我就想着是不是可以将生成库的位置改掉呢?国内搜索了好久,看了好多人的文章,但是也没有涉及到我所需要的。后来搜国外的内容,最后在stackoverflow上找到了一些内容(最后会把地址贴出来)。修改gitolite/src/lib/Gitolite/Rc.pm中的GL_REPO_BASE的值,即可达到要求。如果你要改日志等的纪录,可以将该行下方的值也改掉。
【权限管理】
https://www.linuxidc.com/Linux/2015-10/124252.htm