运行环境
- Ubuntu18.04
- Gitolite
1. 在云服务上选择合适的镜像, 创建好实例
2. 启动实例更新系统
sudo apt update
sudo apt upgrade
3. 安装 Vim
sudo apt install vim
4. 安装 Git
sudo apt install git
5. 创建用户
- 创建git用户:
sudo adduser git - 切换到git用户:
su git - 进入git用户目录:
cd ~
6. 安装 Gitolite
git clone https://github.com/sitaramc/gitolite
mkdir -p $HOME/bin
gitolite/install -to $HOME/bin
7. 注册仓库管理员
新建
YourName.pub文件,将客户端公钥.ssh/id_rsa.pub复制到里面,然后注册为仓库管理员vim YourName.pub # 复制客户端公钥内容,按:wq保存退出 $HOME/bin/gitolite setup -pk YourName.pub # 注册仓库管理员建议在服务器上新建
admin用户作为仓库管理员新建管理员用户
adminsudo adduser admin生成
SSH公钥su admin ssh-keygen -t rsa -C "youremail@example.com" cp .ssh/id_rsa.pub /tmp/admin.pub切回
git用户,将admin用户注册为仓库管理员su git cd ~ $HOME/bin/gitolite setup -pk /tmp/admin.pub注册管理员后会生成两个文件
projects.list,repositories/
projects.list保存仓库信息列表
repositories/文件夹里有管理员仓库gitolite-admin.git/和测试仓库testing.git/
新建的仓库都会保存在repositories/文件夹中
8. 管理远程仓库
在已经注册过的客户端克隆管理员仓库
git clone git@host:gitolite-admin管理员仓库里有两个文件
conf/gitolite.conf和keydir/
gitolite.conf管理仓库信息
keydir/保存git成员的公钥添加新成员: 将新成员的公钥保存到
keydir/下新建仓库
修改
conf/gitolite.conf文件,添加newrepo仓库repo gitolite-admin RW+ = admin repo testing RW+ = @all repo newrepo RW+ = @all添加仓库管理员
repo gitolite-admin RW+ = admin RW+ = lin-zone repo testing RW+ = @all repo newrepo RW+ = @all
9. 将仓库信息推送到服务器
在客户端更新完仓库信息后,需要将其推送到服务器才能生效
git add .
git commit -m "commit message"
git push origin master