本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
将现有 Git 仓库克隆到源仓库
您可以将现有 Git 存储库克隆到 Amazon 中的空源存储库 CodeCatalyst。这是一种快速入门的方法,可以快速开始 CodeCatalyst 使用以前托管在另一个 Git 存储库提供程序中的代码。您可以通过创建镜像克隆然后将镜像推送到来克隆存储库的内容 CodeCatalyst。或者,如果您有想要添加内容的存储库的本地存储库 CodeCatalyst,则可以将 CodeCatalyst 源存储库作为另一个远程存储库添加到本地存储库,然后推送到空源存储库。这两种方法都同样有效。使用镜像克隆不仅可以映射分支,还可以映射所有裁判。这是一种在中创建存储库工作副本的简单而干净的方法 CodeCatalyst。将远程存储库添加到指向空 CodeCatalyst 源存储库的本地存储库会将存储库内容添加到 CodeCatalyst,但它也允许您从本地存储库推送到 CodeCatalyst 源存储库和原始 Git 远程存储库。如果您想在不同的远程存储库中维护代码,这可能很有用,但是如果其他开发人员只向其中一个远程存储库提交代码,则可能会导致冲突。
以下过程使用基本 Git 命令来完成此任务。在 Git 中完成任务的方法有很多,包括克隆。有关更多信息,请参阅 Git 文档
用于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。例如,如果要在中创建 codetalyst-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
命令移除 CodeCommit 存储库以获取 URLs Origin 并推送:git remote remove origin
-
使用 git remot e add 命令将 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 版本,--all 可能无法将本地存储库的所有分支推送到空仓库。您可能需要分别结账并推送每个分支。