1.管理员将自己机器的RSA公钥送上服务器
> scp ~/.ssh/id_rsa.pub root@192.168.1.101:/root/.ssh/admin.pub
2.服务器先从github上clone下来最新的gitolite,并安装,初始化
> git clone http://github.com/sitaramc/gitolite
> ./gitolite/install -ln
> gitolite setup -pk ~/.ssh/admin.pub
3.管理员从服务器上clone下来gitolite-admin.git
> git clone root@192.168.1.101:gitolite-admin
4.其他开发人员只需将公钥给管理员,管理员添加到服务器
> mv ~/.ssh/*.pub gitolite-admin/keydir/
> git add keydir/
> git commit -m "add user others"
> git push
5.管理员配置权限
> vim conf/gitolite.conf
如:
repo nosoul/..*
C = nosoul
R = @admins
RW+ = nosoul
> git commit -a -m "new test"
> git push
6.修改.gitolite.rc,开启create与D,然后使用create与D命令,在本地远程控制服务器上自己的文件夹
创建:
> ssh root@192.168.1.101 create reponame
删除(需要先解锁,默认是锁定的):
> ssh root@192.168.1.101 D unlock reponame
> shh root@192.168.1.101 D rm reponame
7.在服务器上虚拟一个库
> mkdir TDSCDMA
> cd TDSCDMA
> git init --bare test.git
8.管理员配置权限
> vim conf/gitolite.conf
如:
repo TDSCDMA/test
RW+ master$ = @admins
RW+ wp = nosoul
RW+ pw = wupeng
> gim commit -a -m "new test"
> git push
9.管理员从服务器上clone下来gittest库
> git clone root@192.168.1.101:TDSCDMA/test
10.假设当前test库中有一个完善的版本,将完善的版本添加到test中,并添加分支,并push上去
> git add .
> git commit -a -m "The first version"
> git push origin master
11.每个开发人员添加删除自己的远程分支
> git push origin localbranch:remotebranch
> git push origin :remotebranch