天天看点

Gitolite如何导入其它git代码库

在这里测试下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 &lt;sunny@apdn1.(none)&gt;</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 &lt;[email protected]&gt;'</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