在CentOS下搭建git服务

建议

按照下面的步骤一步一步来,已经做过的步骤可以直接跳过。

安装git和gitolite3

1.安装git
yum -y install git
2.安装gitolite3
yum -y install gitolite3

配置

1.生成ssh key
ssh-keygen -t rsa -C "[email protected]"
2.上传生成的id_rsa.pub文件

将生成的id_rsa.pub(在电脑当前用户的.ssh目录下),上到你的服务器。简单提一下怎么把公钥上传到服务器,最简单的办法就是拷贝公钥里面的内容,然后在服务器新建一个文件,把内容复制进去。
把公钥名字改成admin.pub

mv id_rsa.pub admin.pub
3.将admin.pub复制到gitolite3用户家目录

yum方式安装gitolite3会默认生成一个用户,在/var/lib/gitolite3/

cp admin.pub /var/lib/gitolite3/

修改admin.pub的权限

chown gitolite3:gitolite3 -R /var/lib/gitolite3/admin.pub
4.设置管理员

切换到gitolite3用户

su - gitolite3

设置管理员公钥

gitolite setup -pk admin.pub

使用

确保本地的id_rsa.pub和admin.pub里面的内容一样,将gitolite-admin拉到本地

git clone [email protected]:gitolite-admin.git

gitolite-admin里面的conf文件夹里存放的是仓库和权限配置,keydir存放的是成员的公钥。

repo gitolite-admin
    RW+     =   admin
repo testing
    RW+     =   @all
如何创建自己的仓库

1.进入gitolite3的家目录即/var/lib/gitolite3,进入repositories目录

cd /var/lib/gitolite3/repositories

创建空的git项目

git init --bare ios.git
如何配置权限

1.打开gitolite-admin里面的conf文件夹,用编辑器打开gitolite.conf

@iosdevelopers = dev1 dev2 dev3  //用户分组
repo gitolite-admin
    RW+     =   admin
repo testing
    RW+     =   @all
repo ios  
    RW+     =   @iosdevelopers // 整个组都有读写的权限

2.将对应成员的公钥按照配置里面的名字命名,如dev1.pub,dev2.pub,dev3.pub。然后把公钥放入keydir里面
3.提交管理仓库

git add -A
git commit -m '新增iOS成员'
git push

4.测试

git clone [email protected]:ios.git
如何修改管理员的公钥

将新的管理员的公钥上传到服务器

gitolite setup -pk admin.pub

你可能感兴趣的:(在CentOS下搭建git服务)