天天看點

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