gitolite 的安装和配置¶
服务端软件安装及配置¶
以 Gentoo 系统为例,步骤如下:
安装软件 emerge -avgk gitolite
切换为 gitolite 用户 sudo su - git
导入管理员的 SSH 公钥。注意,这里的文件名为 “用户名.pub” 这种格式。关于 SSH 公钥认证的更多细节可以参考 SSH 公钥认证。
git@scms ~ $ gl-setup ./liuzx.pub The default settings in the rc file (/home/data/git/.gitolite.rc) are fine for most people but if you wish to make any changes, you can do so now. hit enter... creating gitolite-admin... Initialized empty Git repository in /home/data/git/repositories/gitolite-admin.git/ creating testing... Initialized empty Git repository in /home/data/git/repositories/testing.git/ [master (root-commit) c33027d] gl-setup ./liuzx.pub 2 files changed, 8 insertions(+) create mode 100644 conf/gitolite.conf create mode 100644 keydir/liuzx.pub
在这个过程中会需要编辑 ~/.gitolite.rc 这个文件,先不做任何修改,以缺省文件保存 即可。
Gitolite 配置¶
Gitolite 的权限配置和帐号管理都是通过 Git 來管理的,因此需要在另外一台机器上 检出其配置后来进行管理。假设上面配置的服务器名为 scms。
- git clone git@scms:gitolite-admin
- 放置每个帐号的公钥到 keydir 目录下,文件名规范为“用户名.pub”。
- 切换到 gitolite-admin 目录,编辑conf/gitolite.conf 文件,配置相关的权限。
- 提交所有的修改到 git,并 push 到服务端。
$ git clone git@scms:gitolite-admin
正克隆到 'gitolite-admin'...
remote: Counting objects: 6, done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 6 (delta 0), reused 0 (delta 0)
接收对象中: 100% (6/6), done.
$ git add keydir/test.pub
$ vi conf/gitolite.conf
$ git add conf/gitolite.conf
$ git commit -m 'add user test'
$ git push origin master