在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

 

 

相关推荐