比较和合并分支Amazon CodeCommit - Amazon CodeCommit
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

比较和合并分支Amazon CodeCommit

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

将分支与默认分支进行比较

使用 CodeCommit 控制台快速查看存储库某个分支与默认分支之间的差别。

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

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

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

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

比较两个特定分支

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

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

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

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

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

    注意

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

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

合并两个分支 (Amazon CLI)

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

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

注意

使用Amazon CLI命令CodeCommit,安装Amazon CLI. 有关更多信息,请参阅 命令行参考

使用 Amazon CLI 在 CodeCommit 存储库中合并两个分支

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

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

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

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

    例如,合并名为的源分支bug fix -1234进入名为的目标分支preprod在名为的仓库中MyDemo存储库

    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 选项)。

    例如,合并名为的源分支bug 修复-bug 1234有一个名为的目标分支每季度 bug 修复在名为的仓库中MyDemo存储库

    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 选项)。

    例如,合并名为的源分支主要的有一个名为的目标分支bug fix -1234在名为的仓库中MyDemo存储库

    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" }