本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
將現有的 Git 儲存庫複製到來源儲存庫
您可以將現有的 Git 儲存庫複製到 Amazon 中的空來源儲存庫 CodeCatalyst。這是開始使用先前在其他 Git 儲存庫提供者託管的 CodeCatalyst 程式碼的快速方法。您可以透過建立鏡像複製,然後將鏡像推送至 來複製儲存庫的內容 CodeCatalyst。或者,如果您有儲存庫的本機儲存庫,其內容要新增至 CodeCatalyst,您可以將 CodeCatalyst 來源儲存庫新增為本機儲存庫的另一個遠端儲存庫,然後推送至空的來源儲存庫。這兩種方法同樣有效。使用鏡像複製不僅映射分支,還映射了所有參考。這是在 中建立儲存庫工作副本的簡單且乾淨方法 CodeCatalyst。將遠端新增至指向空白 CodeCatalyst 來源儲存庫的本機儲存庫,會將儲存庫內容新增至 CodeCatalyst,但也可讓您從本機儲存庫推送至 CodeCatalyst 來源儲存庫和原始 Git 遠端儲存庫。如果您想要在不同遠端儲存庫中維護程式碼,這會很有用,但如果其他開發人員只將程式碼遞交給其中一個遠端儲存庫,則可能會導致衝突。
下列程序使用基本 Git 命令來完成此任務。有許多方法可以在 Git 中完成任務,包括複製。如需詳細資訊,請參閱 Git 文件。
重要
您必須先在 中建立空的儲存庫, CodeCatalyst 才能將內容複製到其中。您還必須擁有個人存取權杖。如需詳細資訊,請參閱 若要建立空的來源儲存庫 和 建立個人存取權杖。
使用 git clone --mirror
將現有的 Git 儲存庫複製到 CodeCatalyst
-
在 CodeCatalyst 主控台中,導覽至您建立空儲存庫的專案。
-
在專案的摘要頁面上,從清單中選擇空儲存庫,然後選擇檢視儲存庫 。或者,在導覽窗格中,選擇程式碼 ,然後選擇來源儲存庫 。從專案的來源儲存庫清單中選擇空儲存庫的名稱。
-
複製空儲存庫URL的HTTPS複製。您需要此設定才能推送鏡像複製。例如,如果您在 ExampleCorp 空間的 MyExampleProject 專案 MyExampleRepo 中命名了來源儲存庫,且使用者名稱為 LiJuan,則複製URL可能如下所示:
https://
LiJuan
@git.us-west-2.codecatalyst.aws/v1/ExampleCorp
/MyExampleProject
/MyExampleRepo
-
在命令列或終端機視窗中,使用
git clone --mirror
命令來建立您要複製到 之 Git 儲存庫的鏡像複製 CodeCatalyst。例如,如果您想要在 中建立 codecatalyst-blueprints 儲存庫的鏡像複製 GitHub,您可以輸入下列命令:git clone --mirror
https://github.com/aws/codecatalyst-blueprints.git
-
將目錄變更為您進行複製的目錄。
cd
codecatalyst-blueprints.git
執行 git push命令,指定目的地 CodeCatalyst 來源儲存庫的 URL 和名稱,以及 --all選項。(這是URL您在步驟 3 中複製的 。) 例如:
git push https://
LiJuan
@git.us-west-2.codecatalyst.aws/v1/ExampleCorp
/MyExampleProject
/MyExampleRepo
--all
若要新增遠端 並將本機儲存庫推送至 CodeCatalyst
-
在 CodeCatalyst 主控台中,導覽至您建立空儲存庫的專案。
-
在專案的摘要頁面上,從清單中選擇空儲存庫,然後選擇檢視儲存庫 。或者,在導覽窗格中,選擇程式碼 ,然後選擇來源儲存庫 。從專案的來源儲存庫清單中選擇空儲存庫的名稱。
-
複製空儲存庫URL的HTTPS複製。您需要此設定才能推送鏡像複製。例如,如果您在 ExampleCorp 空間的 MyExampleProject 專案 MyExampleRepo 中命名了來源儲存庫,且使用者名稱為 LiJuan,則複製URL可能如下所示:
https://
LiJuan
@git.us-west-2.codecatalyst.aws/v1/ExampleCorp
/MyExampleProject
/MyExampleRepo
-
在命令列或終端機視窗中,將目錄變更為您要推送至 的本機儲存庫 CodeCatalyst。
-
執行 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 如果您想要繼續使用儲存庫,請複製遠端 。
-
使用
git remote remove
命令移除URLs用於擷取和推送原始伺服器的 CodeCommit 儲存庫:git remote remove origin
-
使用 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
執行
git push
命令,將本機儲存庫推送至所有設定的推送遠端。或者,執行 git push -u -origin命令,指定將本機儲存庫推送到兩個儲存庫--all的選項。例如:git push -u -origin --all
提示
根據您的 Git 版本, -- 全部可能無法將本機儲存庫的所有分支推送至空儲存庫。您可能需要簽出並個別推送每個分支。