将现有 Git 仓库克隆到源仓库 - Amazon CodeCatalyst

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

将现有 Git 仓库克隆到源仓库

您可以将现有 Git 存储库克隆到 Amazon 中的空源存储库 CodeCatalyst。这是一种快速入门的方法,可以快速开始 CodeCatalyst 使用以前托管在另一个 Git 存储库提供程序中的代码。您可以通过创建镜像克隆然后将镜像推送到来克隆存储库的内容 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。例如,如果要在中创建 codetalyst-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命令移除 CodeCommit 存储库以获取 URLs Origin 并推送:

    git remote remove origin
  7. 使用 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
  8. 运行git push命令将本地存储库推送到所有已配置的推送遥控器。或者,运行git push -u -origin命令,指定将本地存储库推送到两个存储库的--all选项。例如:

    git push -u -origin --all
提示

根据你的 Git 版本,--all 可能无法将本地存储库的所有分支推送到空仓库。您可能需要分别结账并推送每个分支。