Gitolite
Gitolite 是对基础 git 安装的封装,它有助于安全地管理项目仓库以及管理控制对这些仓库访问的用户权限。
安装
安装包含 Gitolite 的软件包。
apk add gitolite git
在您的工作站设置新的公钥
运行此命令将创建一个新的私钥和公钥对。
ssh-keygen -N "" -f ~/.ssh/id_rsa
创建公钥的副本。
cp ~/.ssh/id_rsa.pub ~/.ssh/${YOUR_USERNAME}.pub
通过运行如下所示的命令将公钥发送到您的服务器。
scp ~/.ssh/${YOUR_USERNAME}.pub root@${YOUR_SERVER_DOMAIN_OR_IP}:/var/lib/git/${YOUR_USERNAME}.pub
在您的服务器上设置 Gitolite
此命令将使用您刚刚发送到服务器的公钥设置 Gitolite。

su git -c "gitolite setup -pk /var/lib/git/${YOUR_USERNAME}.pub"
在您的工作站上设置 Gitolite
在您的工作站中,将 .git 目录克隆到您想要的任何位置(最好是您的主目录),以便在服务器外部管理 Gitolite。
git clone git@${YOUR_SERVER_DOMAIN_OR_IP}:gitolite-admin ~/gitolite-admin
使用您喜欢的文本编辑器并打开文件 ~/gitolite-admin/conf/gitolite.conf
vim ~/gitolite-admin/conf/gitolite.conf
将 Gitolite 将要管理的 git 仓库的名称添加到该文件中。它应该看起来像这样
内容 ~/gitolite-admin/conf/gitolite.conf
提交您刚刚更改的内容。
git -C ~/gitolite-admin/ commit -am "我的新自定义仓库。"
将更改推送到服务器。
git -C ~/gitolite-admin/ push
在您的工作站中,如果您没有 git 仓库,创建一个
创建一个 dotfiles 目录。
mkdir ~/dotfiles/
在 dotfiles 目录中初始化一个 git 仓库。
git -C ~/dotfiles/ init
我们将为此新的 .git 添加远程仓库。在这种情况下,我们指向安装了 Gitolite 的服务器,以及我们之前通过 gitolite-admin 推送数据发送的仓库名称。
git -C ~/dotfiles/ remote add origin git@${YOUR_SERVER_DOMAIN_OR_IP}:${YOUR_GIT_REPO}
将一些文件添加到您的新仓库。
echo "hello world" > ~/dotfiles/testfile
git -C ~/dotfiles/ add ~/dotfiles/testfile
创建一个提交。
git -C ~/dotfiles/ commit -am "这是我的第一次提交。"
将文件推送到服务器。在这种情况下,它被推送到安装了 Gitolite 的服务器中。
git -C ~/dotfiles/ push --set-upstream origin master