Git
<h3>Git权限配置</h3>
<h4>服务器(<code>172.16.2.199</code>)</h4>
<h4>Git权限说明:</h4>
<blockquote>
<ol>
<li>Git权限通过一个管理仓库进行授权管理(<code>gitolite-admin</code>),区别于普通Git仓库,需要在管理仓库内授权;</li>
<li>管理仓库内存在2个目录,其中<code>conf</code>目录用于存放配置权限配置文件<code>gitolite.conf</code>,<code>keydir</code>用于存放用户公钥,公钥以用户账号命名即可(<code>.pub后缀需要保留,否则无法识别</code>),一个用户会存在多个公钥的情况,通过<code>@</code>符号定义组嵌套多个用户进行绑定;</li>
<li>Git权限统一采用ssh公钥与私钥匹配关联用户进行授权,私钥存放于用户计算机本地,公钥提供给管理员上传至Git服务器进行授权;</li>
</ol>
</blockquote>
<h5>1、登录服务器后,依次执行如下命令:</h5>
<pre><code>cd /tmp
rm -rf gitolite-admin
git clone /home/git/repositories/gitolite-admin.git
cd gitolite-admin</code></pre>
<p>步骤说明:</p>
<blockquote>
<ol>
<li>进入临时目录,将管理仓库克隆在临时仓库进行操作</li>
<li>为避免临时仓库内存在<code>gitolite-admin</code>目录导致克隆失败,先执行删除操作</li>
<li>克隆管理仓库<code>gitolite-admin</code>至临时目录内</li>
<li>进入临时目录进行权限配置</li>
</ol>
</blockquote>
<h5>2、查询用户是否已存在公钥</h5>
<pre><code>vim conf/gitolite.conf</code></pre>
<blockquote>
<ol>
<li>用vim编辑器编辑配置文件,通过输入<code>/</code>进入搜索模式,输入要搜索的用户账号关键字查询权限(按小n表示查询下一处,大N查询上一处,建议模糊匹配,Git用户名与用户邮箱前缀可能不一致等情况)</li>
</ol>
</blockquote>
<h5>3、开通项目权限</h5>
<ol>
<li><code>若已存在公钥</code>,直接编辑配置文件添加权限即可,通过输入<code>/</code>,搜索开通的仓库名称定位至配置字段进行配置</li>
<li>具体读写权限配置参考其他项目配置即可,<code>RW</code>代表读写,<code>R</code>代表读权限</li>
</ol>
<h5>4、新增用户公钥</h5>
<p><code>若用户公钥及组不存在</code>则用记事本打开用户提供的公钥文件,复制公钥内文本,之后在文件夹内执行如下命令,创建公钥文件,并将公钥内容粘贴进去:</p>
<pre><code>vim keydir/xxxxx.pub</code></pre>
<p>操作说明:</p>
<blockquote>
<ol>
<li>其中<code>xxxxx</code>为用户账号名称,同用户多个公钥可在尾部添加abc进行标识;</li>
<li>执行上方命令后先输入字母<code>i</code>,进入编辑模式后(左下角会显示<code>--INSERT--</code>标识)再进行粘贴操作,之后按方向键下,删除第二行的空白内容--<code>公钥文件只能有一行,否则无效</code></li>
<li>删除第二行后,按<code>ESC</code>键退出编辑模式,之后输入<code>:x</code>后按回车键保存退出即可。</li>
</ol>
</blockquote>
<h6>5、新增仓库</h6>
<p>若需新增Git仓库,复制其他仓库配置文件,并新增对应读写权限组关联后保存提交配置文件系统会自动生成该仓库</p>
<h5>6、<code>提交权限配置文件</code></h5>
<p>权限配置文件需要提交并同步至原始仓库方可生效,提交步骤如下:</p>
<pre><code>git add .
git commit -m '权限更新'
git push --all</code></pre>
<h3>GitLab权限添加(<code>172.16.2.83</code>)</h3>
<p>GitLab权限可联系李泽锦/王锦锋/杨成贺,三位均有管理员权限可添加GitLab权限。</p>