將現有的 Git 儲存庫複製到來源儲存庫 - Amazon CodeCatalyst

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

將現有的 Git 儲存庫複製到來源儲存庫

您可以將現有的 Git 儲存庫複製到 Amazon 中的空來源儲存庫 CodeCatalyst。這是開始使用先前在其他 Git 儲存庫提供者託管的 CodeCatalyst 程式碼的快速方法。您可以透過建立鏡像複製,然後將鏡像推送至 來複製儲存庫的內容 CodeCatalyst。或者,如果您有儲存庫的本機儲存庫,其內容要新增至 CodeCatalyst,您可以將 CodeCatalyst 來源儲存庫新增為本機儲存庫的另一個遠端儲存庫,然後推送至空的來源儲存庫。這兩種方法同樣有效。使用鏡像複製不僅映射分支,還映射了所有參考。這是在 中建立儲存庫工作副本的簡單且乾淨方法 CodeCatalyst。將遠端新增至指向空白 CodeCatalyst 來源儲存庫的本機儲存庫,會將儲存庫內容新增至 CodeCatalyst,但也可讓您從本機儲存庫推送至 CodeCatalyst 來源儲存庫和原始 Git 遠端儲存庫。如果您想要在不同遠端儲存庫中維護程式碼,這會很有用,但如果其他開發人員只將程式碼遞交給其中一個遠端儲存庫,則可能會導致衝突。

下列程序使用基本 Git 命令來完成此任務。有許多方法可以在 Git 中完成任務,包括複製。如需詳細資訊,請參閱 Git 文件。

重要

您必須先在 中建立空的儲存庫, CodeCatalyst 才能將內容複製到其中。您還必須擁有個人存取權杖。如需詳細資訊,請參閱 若要建立空的來源儲存庫建立個人存取權杖

使用 git clone --mirror 將現有的 Git 儲存庫複製到 CodeCatalyst
  1. 在 CodeCatalyst 主控台中,導覽至您建立空儲存庫的專案。

  2. 在專案的摘要頁面上,從清單中選擇空儲存庫,然後選擇檢視儲存庫 。或者,在導覽窗格中,選擇程式碼 ,然後選擇來源儲存庫 。從專案的來源儲存庫清單中選擇空儲存庫的名稱。

  3. 複製空儲存庫URL的HTTPS複製。您需要此設定才能推送鏡像複製。例如,如果您在 ExampleCorp 空間的 MyExampleProject 專案 MyExampleRepo 中命名了來源儲存庫,且使用者名稱為 LiJuan,則複製URL可能如下所示:

    https://LiJuan@git.us-west-2.codecatalyst.aws/v1/ExampleCorp/MyExampleProject/MyExampleRepo
  4. 在命令列或終端機視窗中,使用 git clone --mirror命令來建立您要複製到 之 Git 儲存庫的鏡像複製 CodeCatalyst。例如,如果您想要在 中建立 codecatalyst-blueprints 儲存庫的鏡像複製 GitHub,您可以輸入下列命令:

    git clone --mirror https://github.com/aws/codecatalyst-blueprints.git
  5. 將目錄變更為您進行複製的目錄。

    cd codecatalyst-blueprints.git
  6. 執行 git push命令,指定目的地 CodeCatalyst 來源儲存庫的 URL 和名稱,以及 --all選項。(這是URL您在步驟 3 中複製的 。) 例如:

    git push https://LiJuan@git.us-west-2.codecatalyst.aws/v1/ExampleCorp/MyExampleProject/MyExampleRepo --all
若要新增遠端 並將本機儲存庫推送至 CodeCatalyst
  1. 在 CodeCatalyst 主控台中,導覽至您建立空儲存庫的專案。

  2. 在專案的摘要頁面上,從清單中選擇空儲存庫,然後選擇檢視儲存庫 。或者,在導覽窗格中,選擇程式碼 ,然後選擇來源儲存庫 。從專案的來源儲存庫清單中選擇空儲存庫的名稱。

  3. 複製空儲存庫URL的HTTPS複製。您需要此設定才能推送鏡像複製。例如,如果您在 ExampleCorp 空間的 MyExampleProject 專案 MyExampleRepo 中命名了來源儲存庫,且使用者名稱為 LiJuan,則複製URL可能如下所示:

    https://LiJuan@git.us-west-2.codecatalyst.aws/v1/ExampleCorp/MyExampleProject/MyExampleRepo
  4. 在命令列或終端機視窗中,將目錄變更為您要推送至 的本機儲存庫 CodeCatalyst。

  5. 執行 git remote -v 命令,以查看本機儲存庫的現有遠端。例如,如果您複製MyDemoRepo名為美國東部 AWS CodeCommit (俄亥俄) 區域的儲存庫本機儲存庫,您的命令輸出可能如下所示:

    origin https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo (fetch) origin https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo (push)

    URL 如果您想要繼續使用儲存庫,請複製遠端 。

  6. 使用 git remote remove命令移除URLs用於擷取和推送原始伺服器的 CodeCommit 儲存庫:

    git remote remove origin
  7. 使用 git 遠端新增命令,將 CodeCatalyst 來源儲存庫新增URL為本機儲存庫的擷取和推送遠端。例如:

    git remote add origin https://LiJuan@git.us-west-2.codecatalyst.aws/v1/ExampleCorp/MyExampleProject/MyExampleRepo

    這會將 CodeCommit 儲存庫推送取代URL為 CodeCatalyst 來源儲存庫 URL,但不會變更擷取 URL。因此,如果您再次執行 git remote -v 命令,您會看到您現在正在從 CodeCommit 遠端儲存庫中提取 (擷取) 程式碼,但已設定為將變更從本機儲存庫推送至 CodeCatalyst 來源儲存庫:

    origin https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo (fetch) origin https://LiJuan@git.us-west-2.codecatalyst.aws/v1/ExampleCorp/MyExampleProject/MyExampleRepo (push)

    URL 如果您想要使用 git remote set-url命令推送到兩個儲存庫,可以選擇新增 CodeCommit 遙控器:

    git remote set-url --add --push origin https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo
  8. 執行 git push命令,將本機儲存庫推送至所有設定的推送遠端。或者,執行 git push -u -origin命令,指定將本機儲存庫推送到兩個儲存庫--all的選項。例如:

    git push -u -origin --all
提示

根據您的 Git 版本, -- 全部可能無法將本機儲存庫的所有分支推送至空儲存庫。您可能需要簽出並個別推送每個分支。