在 Ubuntu 上搭建 git 仓库服务器 gitolite

来源:互联网 发布:第四类接触知乎 编辑:程序博客网 时间:2024/05/20 00:14

安装 gitolite

git 服务器软件一般常用的曾经是 gitosis, 不过 gitosis 从 2009年就没人维护了, 目前推荐的是使用 gitolite.

再 Ubuntu 上安装 gitolite 非常简单, 只需要再命令行输入

sudo apt-get install gitolite

就安装完成了. 比起之前的 gitosis 简单了不少.

初始化 gitolite

设置 git 用户

管理 git 仓库, 和 apache 之类的软件一样, 也需要一个专门用户, 一般推荐使用 git 我们这里为系统添加一个叫 git 的用户, 输入

sudo adduser --system \--shell /bin/bash \--group \--disabled-password \--gecos 'git version control' \--home /home/git \git

这样就添加了一个叫 git 的用户, 他的主目录是 /var/git 也就是日后我们存放 git项目的地方.

初始化 git 仓库

首先需要上传一个管理员的 ssh 证书, 这里我把我当前用户的公钥匙传到服务器上 ( 生成 ssh 证书: ssh-keygen )

scp ~/.ssh/id_rsa.pub user@server:/tmp/admin.pub

这里的 user是服务器的用户名,server 是服务器地址, admin.pub 可以自行改名, 比如叫 sunteya.pub, 作用是再之后初始化 git 库的使用 默认的管理员用户, 如果叫 sunteya.pub 则管理员用户是 sunteya, 以此类推.

上传完证书以后, 我们切换到 git 用户, 准备初始化 gitolite

sudo -s
su git

接着输入

gl-setup /tmp/admin.pub

这里的 admin.pub 也根据你实际的上传的文件来输入, 接着按照提示就完成了 git仓库的搭建了( vi 编辑器部分:光标移到底部输入【:wq】然后再按回车键)

管理和添加项目

服务器端gitolite配置文件存放位置 /home/GITOLITE_USER/.gitolite/conf/gitolite.conf

服务器端gitolite用户公钥存放位置 /home/GITOLITE_USER/.gitolite/keydir/

再服务器搭建好 gitolite 就可以通过他的 gitolite-admin 项目来管理 git仓库了. 我们可以输入

git clone git@server:gitolite-admin.git

取出管理项目, 这时候我们可以看到 gitolite-admin 目录下有

conf/gitolite.confkeydir/admin.pub

其中 keydir 用于管理用户, 每一个 keydir 下的文件就是一个用户. 另外我们查看 conf/gitolite.conf

repo    gitolite-admin        RW+     =   adminrepo    testing        RW+     =   @all

可以看到默认帮我们建了一个叫 testing 的库, 我们可以编辑 conf/gitolite.conf 来添加或者删除 git仓库

----------------------------------------------------------------------------------------------------------------------------


----------------------------------------------------------------------------------------------------------------------------


具体的可以访问 https://github.com/sitaramc/gitolite#readme 查看详细的配置写法, 然后 push 到服务器, 就可以添加或者管理git仓库了.

原创粉丝点击