1.首先说一下gitolite。git本身没有服务器的概念,而gitolite是为git提供管理功能的第三方软件,充当了针对多人开发的服务器角色。它是建立在git基础之上的,因此需要在server上先安装git(服务器为linux):
1. tar -jxvf git-1.7.5.3 tar.bz2
2. cd git-1.7.5.3
3. ./configure --prefix=/usr/local/git
4. make
5. make install
试验一下git命令是否管用:$git,如果出现使用方式即可。如果找不到命令,需要在/etc/profile里加入/usr/local/gitbin的路径。
2.接下来安装gitolite:
官方网站的安装方法没有安装成功。我使用了http://www.ossxp.com/doc/git/gitolite.html的安装方法,从客户端远程安装到服务器上。
对于gitolite要明确几个概念,“gitolite服务器”,“gitolite管理员”,“gitolite普通用户”。gitolite服务器即为上面安装git的server(10.6.0.54),“gitolite管理员”是我的laptop,“gitolite普通用户”是我的开发组的其他组员。
2.1 安装之前需要对server和laptop做相应的系统设置:
2.1.1 首先在server上建立git用户:
$sudo adduser -m --system --shell /bin/bash --group git
这样,就创建了用户 git,并设置用户的 shell 为可登录的shell为/bin/bash,同时添加同名的用户组,-m同时建立同名的home目录。
接下来设置密码:
$ sudo passwd git
切换到git用户下,看看git命令是否可以使用(如果不能使用设置/etc/profile):
$ su - git
$ git --version
2.1.2 其次在laptop上设置git@10.6.0.54的ssh免密码登陆:
因为laptop是windows的,所以在laptop上安装msysgit,windows的东西一直“下一步”即可,打开bash,
$ ssh-keygen -t rsa
$ scp .ssh/id_rsa.pub git@10.6.0.54:~/zty_laptop.pub
同时在server的git用户下:cat zty_laptop.pub>>.ssh/authorized_keys,然后在laptop上试验一下是否可以免密码登陆ssh git@10.6.0.54
2.1.3 接下来就要通过laptop安装gitolite了:
打开msysgit的bash:
使用 git 下载 Gitolite 的源代码
$ git clone git://github.com/ossxp-com/gitolite.git
进入 gitolite/src 目录,执行安装
$ cd gitolite/src
$ ./gl-easy-install git 10.6.0.54 admin
命令 gl-easy-install 的第一个参数 git是服务器上创建的专用帐号ID,第二个参数是服务器IP或者域名,第三个参数 admin 是管理员ID
然后一路回车,中间会自动打开编辑器(vi),编辑 .gitolite.rc 文件,编辑结束,上传到服务器。这里一般不用编辑。
但是我遇到了错误,提示找不到git命令:
Error:can not get the proper version number ...
这时要重新安装一遍,在中间自动打开的.gitolite.rc里编辑GIT_PATH='/usr/local/git/git-1.7.5.3/bin'
另外一个错误是提示执行:
git --config global user.email ""
git --config global user.name ""
若出现上述错误,在server上执行相应的命令即可。
安装好之后,会提示如下信息:
$ git clone gitolite:gitolite-admin.git