比较和合并 AWS CodeCommit中的分支 - AWS CodeCommit

AWS CodeCommit 不再向新客户提供。 AWS CodeCommit 的现有客户可以继续正常使用该服务。了解更多

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

比较和合并 AWS CodeCommit中的分支

您可以使用 CodeCommit 控制台比较 CodeCommit 存储库中的分支。通过比较分支可帮助您快速查看某分支与默认分支之间的差别,或查看任意两个分支之间的差别。

比较分支与默认分支

使用 CodeCommit 控制台快速查看仓库的分支和默认分支之间的区别。

  1. https://console.aws.amazon.com/codesuite/codemmit /home 打开 CodeCommit 控制台。

  2. 存储库中,选择要比较其中的分支的存储库的名称。

  3. 在导航窗格中,选择提交,然后选择比较提交选项卡。

  4. 目标中,选择默认分支的名称。在中,选择要与默认分支比较的分支。选择 Compare

比较两个特定分支

使用 CodeCommit 控制台查看要比较的两个分支之间的差异。

  1. https://console.aws.amazon.com/codesuite/codemmit /home 打开 CodeCommit 控制台。

  2. 存储库中,选择要比较其中的分支的存储库的名称。

  3. 在导航窗格中,选择提交,然后选择比较提交选项卡。

  4. 目标中,选择要比较的两个分支,然后选择比较。要查看已更改文件的列表,请展开已更改文件列表。您可以通过并排 (拆分视图) 或内联 (统一视图) 方式查看文件中的更改。

    注意

    如果您以IAM用户身份登录,则可以配置和保存用于查看代码和其他控制台设置的首选项。有关更多信息,请参阅 使用用户首选项

    显示两个分支之间差别的简要视图。

合并两个分支 (AWS CLI)

您可以通过运行以下命令之一,使用可用的合并策略之一来合并 CodeCommit 存储库中的两个分支: AWS CLI

您还可以通过运行 create-unreferenced-merge-commit 命令来测试合并。有关更多信息,请参阅解决拉取请求冲突

注意

要将 AWS CLI 命令与一起使用 CodeCommit,请安装 AWS CLI。有关更多信息,请参阅 命令行参考

使用合并 CodeCommit 存储库中的两个分支 AWS CLI
  1. 要使用快速转发合并策略合并两个分支,请运行 merge-branches-by-fast-forward 命令,并指定:

    • 包含要合并的更改的源分支的名称(使用 --source-commit-specifier 选项)。

    • 要合并更改的目标分支的名称(使用 --destination-commit-specifier 选项)。

    • 存储库的名称(使用 --repository-name 选项)。

    例如,要合并名为的源分支 bugfix-1234 进入名为的目标分支 preprod 在名为的存储库中 MyDemoRepo:

    aws codecommit merge-branches-by-fast-forward --source-commit-specifier bugfix-bug1234 --destination-commit-specifier preprod --repository-name MyDemoRepo

    如果成功,该命令产生类似以下内容的输出:

    { "commitId": "4f178133EXAMPLE", "treeId": "389765daEXAMPLE" }
  2. 要使用 squash 合并策略合并两个分支,请运行 merge-branches-by-squash 命令,并指定:

    • 包含要合并的更改的源分支的名称(使用 --source-commit-specifier 选项)。

    • 要合并更改的目标分支的名称(使用 --destination-commit-specifier 选项)。

    • 存储库的名称(使用 --repository-name 选项)。

    • 要包括的提交消息(使用 --commit-message 选项)。

    • 要用于提交的姓名(使用 --name 选项)。

    • 要用于提交的电子邮件地址(使用 --email 选项)。

    例如,要合并名为的源分支 bugfix-bug1234 目标分支名为 bugfix-quarterly 在名为的存储库中 MyDemoRepo:

    aws codecommit merge-branches-by-squash --source-commit-specifier bugfix-bug1234 --destination-commit-specifier bugfix-quarterly --author-name "Maria Garcia" --email "maria_garcia@example.com" --commit-message "Merging in fix branches to prepare for a general patch." --repository-name MyDemoRepo

    如果成功,该命令产生类似以下内容的输出:

    { "commitId": "4f178133EXAMPLE", "treeId": "389765daEXAMPLE" }
  3. 要使用三向合并策略合并两个分支,请运行 merge-branches-by-three-way 命令,并指定:

    • 包含要合并的更改的源分支的名称(使用 --source-commit-specifier 选项)。

    • 要合并更改的目标分支的名称(使用 --destination-commit-specifier 选项)。

    • 存储库的名称(使用 --repository-name 选项)。

    • 要包括的提交消息(使用 --commit-message 选项)。

    • 要用于提交的姓名(使用 --name 选项)。

    • 要用于提交的电子邮件地址(使用 --email 选项)。

    例如,要合并名为的源分支 main 目标分支名为 bugfix-1234 在名为的存储库中 MyDemoRepo:

    aws codecommit merge-branches-by-three-way --source-commit-specifier main --destination-commit-specifier bugfix-bug1234 --author-name "Jorge Souza" --email "jorge_souza@example.com" --commit-message "Merging changes from main to bugfix branch before additional testing." --repository-name MyDemoRepo

    如果成功,该命令产生类似以下内容的输出:

    { "commitId": "4f178133EXAMPLE", "treeId": "389765daEXAMPLE" }