在这里测试下Gitolite如何导入其它git代码库
要求:原服务器有sdk.git项目,我们导入到Gitolite并配置权限管理。
停止原服务器对sdk.git的操作,将代码库直接打包
<code>git@ubuntu:</code><code>/git</code><code>$ </code><code>tar</code> <code>-zcf sdk.</code><code>tar</code><code>.gz sdk.git</code>
将sdk.tar.gz传到Gitolite服务器,我传到/tmp下面
Gitolite管理服务器上执行
先添加同名的项目
<code>[gitadmin@apdn1 conf]$ </code><code>vi</code> <code>gitolite.conf </code>
<code>repo gitolite-admin</code>
<code> </code><code>RW+ = gitadmin</code>
<code>repo testing</code>
<code> </code><code>RW+ = @all</code>
<code>repo sdk </code><code>#sdn名称与要导入的项目名一样</code>
<code> </code><code>RW+ = gitadmin </code><code>#授于用户权限</code>
<code> </code>
<code>[gitadmin@apdn1 gitolite-admin]$ git add .</code>
<code>[gitadmin@apdn1 gitolite-admin]$ git commit -m </code><code>"add sdk repo"</code>
<code>[master 1245da2] add a new repo</code>
<code> </code><code>Committer: sunny <sunny@apdn1.(none)></code>
<code>Your name and email address were configured automatically based</code>
<code>on your username and </code><code>hostname</code><code>. Please check that they are accurate.</code>
<code>You can suppress this message by setting them explicitly:</code>
<code> </code><code>git config --global user.name </code><code>"Your Name"</code>
<code> </code><code>git config --global user.email [email protected]</code>
<code>If the identity used </code><code>for</code> <code>this commit is wrong, you can fix it with:</code>
<code> </code><code>git commit --amend --author=</code><code>'Your Name <[email protected]>'</code>
<code> </code><code>1 files changed, 3 insertions(+), 1 deletions(-)</code>
<code>[gitadmin@apdn1 gitolite-admin]$ git push</code>
<code>Counting objects: 7, </code><code>done</code><code>.</code>
<code>Delta compression using up to 4 threads.</code>
<code>Compressing objects: 100% (3</code><code>/3</code><code>), </code><code>done</code><code>.</code>
Gitolite服务器
2.导入git代码库
<code>进入到gituser的项目库目录</code><code>/home/gituser/repositories</code>
<code>gituser@ubuntu:~</code><code>/repositories</code><code>$ </code><code>ls</code>
<code>gitolite-admin.git sdk.git testing.git</code>
<code>可以看到我们刚刚建的sdk.git项目已经存在</code>
<code>我们只需要清空里面的文件</code>
<code>gituser@ubuntu:~</code><code>/repositories</code><code>$ </code><code>rm</code> <code>-rf sdk.git/*</code>
<code>然后将我们刚刚传到</code><code>/tmp/sdk</code><code>.</code><code>tar</code><code>.gz解压后拷贝过来</code>
<code>gituser@ubuntu:</code><code>/tmp</code><code>$ </code><code>tar</code> <code>-zxf sdk.</code><code>tar</code><code>.gz</code>
<code>gituser@ubuntu:</code><code>/tmp</code><code>$ </code><code>cd</code> <code>sdk.git</code>
<code>gituser@ubuntu:</code><code>/tmp/sdk</code><code>.git$ </code><code>mv</code> <code>* </code><code>/home/gituser/repositories/sdk</code><code>.git/</code>
3.测试
sdk项目只有gitadmin有权限操作
<code>[gitadmin@apdn1 tmp]$ git clone [email protected]:sdk</code>
<code>Initialized empty Git repository </code><code>in</code> <code>/tmp/sdk/</code><code>.git/</code>
<code>remote: Counting objects: 34, </code><code>done</code><code>.</code>
<code>remote: Compressing objects: 100% (32</code><code>/32</code><code>), </code><code>done</code><code>.</code>
<code>remote: Total 34 (delta 8), reused 0 (delta 0)</code>
<code>Receiving objects: 100% (34</code><code>/34</code><code>), 17.92 KiB, </code><code>done</code><code>.</code>
<code>Resolving deltas: 100% (8</code><code>/8</code><code>), </code><code>done</code><code>.</code>
<code>顺利拉取成功。</code>
<code>其它修改,提交正常。还有就是之前代码库所有的日志记录也存在。</code>
好了,以上就是Gitolite如何导入其它git代码库。
gitolite功能不错,其它功能后续再续写了。
本文转自 jackjiaxiong 51CTO博客,原文链接:http://blog.51cto.com/xiangcun168/1703506