使用gitolite搭建git服务器并自定义仓库目录
官网:https://gitolite.com/gitolite/index.html
安装:su - git
mkdir -p ~/bin
git clone https://github.com/sitaramc/gitolite
gitolite/install -ln ~/bin # please use absolute path here
gitolite setup -pk yourname.pub
其中yourname.pub
为管理员git公钥。git 跟 gitolite 服务器通信用的是 git 这个真正的系统用户,而 gitolite 控制仓库权限则是使用自己的虚拟用户。这里的 yourname 就是虚拟用户。
gitolite提供了一个 gitolite-shell。当你使用 ssh 访问 gitolite 时 ssh 服务会启动 gitolite-shell。这个脚本会检查当前用户是否有权限访问对应的仓库。如果用户通过 git push 修改了仓库内容,则会触发 gitolite 预先配置 git hook,这些 hook 会执行创建仓库、添加用户之类的操作。
下载主仓库:git clone git@yourhost:gitolite-admin.git
通过对主仓库配置及公钥进行管理即可。
Gitolite自定义仓库目录home/git/.gitolite.rc
文件新增以下代码,并重新安装一次即可。
#sensen
GL_REPO_BASE => "/diskb/git/repositories",