AWS CodeCommit 不再向新客户提供。 AWS CodeCommit 的现有客户可以继续正常使用该服务。了解更多
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
比较和合并 AWS CodeCommit中的分支
您可以使用 CodeCommit 控制台比较 CodeCommit 存储库中的分支。通过比较分支可帮助您快速查看某分支与默认分支之间的差别,或查看任意两个分支之间的差别。
比较分支与默认分支
使用 CodeCommit 控制台快速查看仓库的分支和默认分支之间的区别。
在 https://console.aws.amazon.com/codesuite/codemmit
/home 打开 CodeCommit 控制台。 -
在存储库中,选择要比较其中的分支的存储库的名称。
-
在导航窗格中,选择提交,然后选择比较提交选项卡。
-
在目标中,选择默认分支的名称。在源中,选择要与默认分支比较的分支。选择 Compare。
比较两个特定分支
使用 CodeCommit 控制台查看要比较的两个分支之间的差异。
在 https://console.aws.amazon.com/codesuite/codemmit
/home 打开 CodeCommit 控制台。 -
在存储库中,选择要比较其中的分支的存储库的名称。
-
在导航窗格中,选择提交,然后选择比较提交选项卡。
-
在目标和源中,选择要比较的两个分支,然后选择比较。要查看已更改文件的列表,请展开已更改文件列表。您可以通过并排 (拆分视图) 或内联 (统一视图) 方式查看文件中的更改。
注意
如果您以IAM用户身份登录,则可以配置和保存用于查看代码和其他控制台设置的首选项。有关更多信息,请参阅 使用用户首选项。
合并两个分支 (AWS CLI)
您可以通过运行以下命令之一,使用可用的合并策略之一来合并 CodeCommit 存储库中的两个分支: AWS CLI
-
要使用快速转发合并策略合并两个分支,请运行 merge-branches-by-fast-forward 命令。
-
要使用 squash 合并策略合并两个分支,请运行 merge-branches-by-squash 命令。
-
要使用三向合并策略合并两个分支,请运行 merge-branches-by-three-way 命令。
您还可以通过运行 create-unreferenced-merge-commit 命令来测试合并。有关更多信息,请参阅解决拉取请求冲突。
注意
要将 AWS CLI 命令与一起使用 CodeCommit,请安装 AWS CLI。有关更多信息,请参阅 命令行参考。
使用合并 CodeCommit 存储库中的两个分支 AWS CLI
-
要使用快速转发合并策略合并两个分支,请运行 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-specifierpreprod
--repository-nameMyDemoRepo
如果成功,该命令产生类似以下内容的输出:
{ "commitId": "4f178133EXAMPLE", "treeId": "389765daEXAMPLE" }
-
-
要使用 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-specifierbugfix-quarterly
--author-name "Maria Garcia
" --email "maria_garcia@example.com
" --commit-message "Merging in fix branches to prepare for a general patch.
" --repository-nameMyDemoRepo
如果成功,该命令产生类似以下内容的输出:
{ "commitId": "4f178133EXAMPLE", "treeId": "389765daEXAMPLE" }
-
-
要使用三向合并策略合并两个分支,请运行 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-specifierbugfix-bug1234
--author-name "Jorge Souza
" --email "jorge_souza@example.com
" --commit-message "Merging changes from main to bugfix branch before additional testing.
" --repository-nameMyDemoRepo
如果成功,该命令产生类似以下内容的输出:
{ "commitId": "4f178133EXAMPLE", "treeId": "389765daEXAMPLE" }
-