为什么选择 Gitolite?
Gitolite(Git 托管服务)提供了一种集中管理 Git 仓库的解决方案,支持细粒度的访问控制和众多强大功能。通过本教程,你将在短时间内完成从安装到基本配置的全过程,掌握团队协作的必备技能。
本文将涵盖以下内容:
- 在服务器上快速部署 Gitolite
- 创建管理员账户并配置 SSH 访问
- 添加用户和仓库并设置权限
- 使用群组功能简化权限管理
安装准备与环境要求
Gitolite 需要运行在类 Unix 系统上,服务器需满足以下条件:
- Git 1.6.6 或更高版本
- Perl 5.8.8 或更高版本
- OpenSSH 5.0 或更高版本
- 专用的系统用户(本文使用
git用户)
服务器端安装步骤
1. 准备管理员 SSH 密钥
登录服务器的 git 用户,确保 .ssh/authorized_keys 文件为空或不存在,然后将你的工作站 SSH 公钥复制到服务器的 ~/.ssh/YourName.pub。
2. 克隆并安装 Gitolite
git clone https://github.com/sitaramc/gitolite
mkdir -p $HOME/bin
gitolite/install -to $HOME/bin
3. 初始化 Gitolite
gitolite setup -pk YourName.pub
如果提示 gitolite: command not found,请使用绝对路径:
$HOME/bin/gitolite setup -pk YourName.pub
安装脚本会自动配置 SSH 访问并创建必要的目录结构,核心代码实现位于 src/gitolite 和 src/gitolite-shell。
客户端管理配置
1. 克隆管理仓库
在本地工作站执行:
git clone git@your-server:gitolite-admin
如果提示输入密码,说明 SSH 配置有误,请检查服务器安装步骤。
2. 认识管理仓库结构
进入 gitolite-admin 目录,你会看到两个关键子目录:
- conf/: 包含配置文件
conf/gitolite.conf - keydir/: 存储用户 SSH 公钥
keydir/
用户与仓库管理
添加用户
获取用户的 SSH 公钥,保存为 keydir/username.pub,例如添加用户 alice、bob 和 carol:
cp alice.pub keydir/
bob.pub keydir/
carol.pub keydir/

