使用Gitolite搭建Git服务器
使用 Gitolite 搭建 Git 服务器是管理 Git 仓库和用户权限的一种高效方式。Gitolite 是一个轻量级的 Git 服务器管理工具,它允许管理员通过 SSH 访问控制和配置文件来管理多个 Git 仓库和用户权限。
博主博客
一、安装 Vim
sudo apt install vim
二、安装 Git
sudo apt install git
三、创建用户
- 创建git用户:
sudo adduser git - 切换到git用户:
su git - 进入git用户目录:
cd ~
四、安装 Gitolite
git clone https://github.com/sitaramc/gitolite
mkdir -p $HOME/bin
gitolite/install -to $HOME/bin
五、注册仓库管理员
- 新建
YourName.pub文件,将客户端公钥.ssh/id_rsa.pub复制到里面,然后注册为仓库管理员
vim YourName.pub
# 复制客户端公钥内容,按:wq保存退出
$HOME/bin/gitolite setup -pk YourName.pub # 注册仓库管理员
建议在服务器上新建admin用户作为仓库管理员
- 新建管理员用户
admin
sudo adduser admin
- 生成
SSH公钥
su admin
ssh-keygen -t rsa -C "[email protected]"
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/ 文件夹中。
六、管理远程仓库
- 在已经注册过的客户端克隆管理员仓库
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
七、将仓库信息推送到服务器
在客户端更新完仓库信息后,需要将其推送到服务器才能生效
git add .
git commit -m "commit message"
git push origin master
参考文献
使用Gitolite搭建Git服务器
https://blog.uso6.com/archives/shi-yong-gitoliteda-jian-gitfu-wu-qi
评论