在linux上构建gitolite
每台机器生成密钥前要设置邮箱和用户名:
git config --global user.name "admin" git config --global user.email "admin@example.com" #查看配置 git config -l
(1)创建用户和用户组
#新建用户同时增加用户组(-g 所属组) useradd -g git git
#修改用户密码
passwd
(2)登录git用户,打开主目录~,并且下载gitolite
su - git cd ~ git clone git://github.com/sitaramc/gitolite
(3)安装gitolite
#创建~/bin目录(存放gitolite的软链接) mkdir bin #将/home/git/bin 添加到环境变量里 vim .bashrc 在文件最后添加 export PATH=/home/git/bin:$PATH #安装gitolite gitolite/install -ln
(4)生成并上传客户端管理员的ssh公钥(通过这个公钥生成所有的仓库)
1.生成密钥
ssh-keygen -t rsa -C "admin@example.com"
#提示公钥生成地点,点击回车跳过时存放在默认地址(生成成功后会提示密钥存在地址)
#提示输入密码
2.生成的公钥文件是id_rsa.pub,改成用户名.pub,如admin.pub
3.将admin.pub上传到/home/git
4.将admin.pub所属用户和组设置为git
chown -R git:git admin.pub
(5)基于提供的admin.pub创建gitolite-admin管理仓库
[git@server ~]$ gitolite setup -pk $HOME/admin.pub Initialized empty Git repository in /home/git/repositories/gitolite-admin.git/ Initialized empty Git repository in /home/git/repositories/testing.git/
WARNING: /home/git/.ssh missing; creating a new one (thisis normal on a brand new install) WARNING: /home/git/.ssh/authorized_keys missing; creating a new one (thisis normal on a brand new install)
(6)在管理员电脑clone管理仓库(就是生成admin.pub的客户端)
git clone git@192.168.2.223:gitolite-admin.git
(7)添加普通用户(如添加xin用户)
1.在用户电脑生成公钥
2.生成的公钥文件是id_rsa.pub,改成用户名.pub,如xin.pub
3.将xin.pub发给管理员admin
4.管理员将xin.pub放到管理员电脑的gitolite-admin\keydir
5.上传到git服务器
git add xin.pub git commit -m "set user: paul"#提交的文件说明 git push origin
(8)配置用户权限
1.几种权限组:
Owner:仓库的拥有者,可以对仓库做任何想做的事情,比如push, 修改其它人访问这个仓库的权限,甚至删除
RW+:可读写组, clone, push, pull
R:可读组, clone, pull
其中 Owner包含 RW, RW权限 包含 R
2.修改管理员电脑的gitolite-admin\conf\gitolite.conf文件:
如:
repo gitolite-admin RW+ = admin R = zhouqixin repo testing RW+ = @all repo ybg RW+ = @all
repo是仓库,新建仓库只要添加一个repo选项就可以了,上面文件有gitolite-admin,testing和ybg三个仓库
每个仓库下面的是每个组的用户,多个用户用空格隔开
3.上传到git服务器
git add gitolite.conf git commit -m "set user: paul"#提交的文件说明 git push origin
(9)在eclipse中导入远程仓库的工程
import->projects from git->clone uri
配置如图:
directory下的目录会自动创建为本地仓库:
eclipse git插件的基本使用方法:
http://blog.csdn.net/wisgood/article/details/12949131