在Turnkey Redmine虚拟机上配置Git和Gitolite
1. 创建git用户
sudo adduser --system --shell /bin/bash --group git
sudo passd git
2. 以git身份登录
su - git
3. 下载和安装Gitolite
git clone git://github.com/sitaramc/gitolite
cd gitolite
src/gl-system-install
后面的步骤就请参照:
gitolite 是gitosis用perl重写的,更好用,安全级别应该更高。
参考:
- gitolite: http://github.com/sitaramc/gitolite
- Pro Git: http://progit.org/book/ch4-4.html
我用的是Ubuntu做例子,没有ssh的知识的最好恶补一下,否者不知道会错在哪里 ;-)
服务器(ubuntu 10.2 lucid,用户user, 192.168.56.151)
客户端(windows vista msysgit, 用户larrycai)
1. 下载gitolite包。
我偷懒,直接下载.deb包安装(不再ubuntu缺省中,来的找源)http://packages.debian.org/unstable/main/gitolite , 1.5.3-1 (2010.7.2时是最新的)
user@ubuntu:~$ sudo dpkg -I gitolite_1.5.3-1_all.deb
user@ubuntu:~$ dpkg -L gitolite_1.5.3-1_all.deb
/etc/gitolite
..
/usr/bin/gl-setup
..
安装时会配好git用户。
2. 配置管理员(你的账号如 larrycai)
在客服端(windows vista msysgit)产生密钥对,传送公钥到服务器
(client)
$ ssh-keygen
(密码为空)
$ scp ~/.ssh/id_rsa.pub [email protected]:/tmp/larrycai.pub
(server)
user@ubuntu:~$ sudo su - git
git@ubuntu:~$ gl-setup /tmp/larrycai.pub
..
creating gitolite-admin...
Initialized empty Git repository in /home/git/repository/gitolite-admin.git
(client)
$ git clone [email protected]:gitolite-admin复制代码如果一切顺利,就配好了,当然80%的可能会在ssh出错。
3. 增加git repository
gitolite的好处是,所有的管理都在gitolite-admin git库中。下面来加个“proj" git repository
$ git clone [email protected]:gitolite-admin
$ cd gitolite-admin
(edit conf/gitolite.conf)
$ more gitolite-admin/conf/gitolite.conf
repo proj
RW+ = @all
$ git commit -a -m "add new repo proj"
$ git push
..
remote: creating proj..
remote: Initialized empty Git repository in /home/git/repositories/proj.git/.
..复制代码好了现在可以用proj git repository
$git clone [email protected]:proj