2013-02-09 32 views
21

我有格里特兩個問題:導入資源庫,以格里特

  1. 如何轉換或導入現有的Git倉庫到格里特的格式?沒有Gerrit控件的提交很多,我只是簡單地將這些提交推送到Gerrit項目中。

    我看到兩種方法可以做到這一點:

    1. 複製現有的裸的Git目錄格里特然後將其添加到數據庫中。這是一種安全的方法嗎?

    2. 將所有提交從我的本地存儲庫推送到gerrit存儲庫。

  2. 如何恢復從格瑞特庫到原來的Git的格式?是否需要刪除Gerrit的特殊*/for/*分支才能做到這一點?

回答

21

首先:沒有特殊的「Gerrit格式」。 Gerrit與常規的git存儲庫一起工作。

  1. 在Gerrit中創建一個新項目(沒有初始提交)。將創建的存儲庫作爲遠程存儲添加到現有存儲庫,然後輕鬆推送。您可以配置Gerrit以允許直接推入資源庫(繞過審閱),允許您導入整個資源庫。或者,如果您可以直接訪問Gerrit的存儲庫位置(例如通過SSH或本地文件系統),則可以直接將其直接推入存儲庫(無論Gerrit創建它),完全繞過Gerrit。之後您需要刷新Gerrit緩存,然而,Gerrit會注意到倉庫頭部已更新。

  2. 如上所述,沒有「Gerrit格式」。從gerrit克隆你的倉庫,一切都很好。你不必擔心任何特殊的分支。

+14

還有一點關於用戶訪問權限(推送時)。您必須擁有**創建引用**,**推送**,**推送合併提交**和**推註標籤**權利才能成功推送所有舊提交。此外,所有提交用戶必須在gerrit中註冊或使用別名電子郵件。 – DEgITx 2013-02-09 20:46:39

+5

您可以避免註冊提交「Forge Committer Identity」權限的所有提交作者。 – vquintans 2014-10-10 14:48:25

5
  1. 只需創建在格瑞特新的項目,然後按下git倉庫那裏。如果你想繞過審查,直接推到主,而不是refs/for/master。您需要添加權限才能完成此操作。

    我認爲錯誤信息可能是由於您沒有將您的ssh密鑰導入到Gerrit中造成的。

  2. 只需從Gerrit克隆存儲庫即可。它不會包含任何額外的分支。

7

我引進了許多GIT項目,格瑞特,我發現最簡單的方法是Git倉庫的xy.git目錄複製到該目錄,其中格里特存款git的回購協議。 重新啓動gerrit進程後,新項目位於新項目列表中,您可以編輯描述和訪問權限。

+0

確實相當簡單。創建符號鏈接也可以。重新啓動gerrit實際上並不需要。 – 2014-02-26 10:54:05

+0

我已經在gerrit 2.9上試過這種方法。需要重新啓動,否則新添加的項目將不會顯示在項目列表中。 – Roland 2014-08-13 05:21:23

+0

如果項目沒有顯示,刷新緩存(如helmbert建議)應該足夠了。 (它爲我工作。) – 2016-03-09 17:27:40