建立提取請求 - AWS CodeCommit

AWS CodeCommit 不再提供給新客戶。的現有客戶 AWS CodeCommit 可以繼續正常使用服務。進一步了解"

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

建立提取請求

建立提取請求可協助其他使用者在您將程式碼變更合併到另一個分支之前,查看和檢閱您的程式碼變更。首先,您會為程式碼變更建立分支。這稱為提取請求的來源分支。在您將變更遞交和推送至儲存庫之後,您可以建立一個提取請求,該請求會在提取請求關閉之後,將該分支的內容 (來源分支) 與您要合併變更所在的分支 (目的地分支) 比較。

您可以使用 AWS CodeCommit 主控台或 AWS CLI 來建立儲存庫的提取請求。

建立提取請求 (主控台)

您可以使用 CodeCommit 控制台在 CodeCommit 存儲庫中創建拉取請求。如果您的儲存庫已設定通知,當您建立提取請求時,訂閱的使用者會收到一封電子郵件。

  1. 開啟位於的 CodeCommit 主控台https://console.aws.amazon.com/codesuite/codecommit/home

  2. Repositories (儲存庫) 中,選擇您要建立提取請求所在儲存庫的名稱。

  3. 在導覽窗格中,選擇 Pull requests (提取請求)

    提示

    您也可以從 Branches (分支)Code (程式碼) 建立提取請求。

  4. 選擇 Create pull request (建立提取請求)

    在 CodeCommit 主控台中透過 Pull Requmit (提取請求) 頁面來建立提取請求。
  5. Create pull request (建立提取請求)Source (來源) 中,選擇分支,其中包含您希望檢閱的變更。

  6. InDestination (目的地)中,選擇您要在提取請求關閉時,合併程式碼變更所在的分支。

  7. 選擇 Compare (比較)。系統會就這兩個分支執行比較,並顯示它們之間的差異。也會執行分析來判斷在提取請求關閉時,是否可自動合併這兩個分支。

  8. 檢閱比較詳細資訊和變更,以確認提取請求包含您希望檢閱的變更和遞交。如果未包含,請調整您的來源和目的地分支選項,然後再次選擇 Compare (比較)

  9. 當您對提取請求的比較結果感到滿意時,請在 Title (標題) 中為此檢閱輸入簡短但具描述性的標題。這是在儲存庫的提取請求清單中顯示的標題。

  10. (選用) 在 Description (描述) 中,輸入此檢閱的詳細資訊,以及對檢閱者有用的任何其他資訊。

  11. 選擇 Create (建立)

    建立提取請求

您的提取請求會出現在儲存庫的提取請求清單中。如果您設定通知時,Amazon SNS 主題的訂者會收到一封電子郵件,通知他們新建立的提取請求。

建立提取請求 (AWS CLI)

使用AWS CLI命令,請安裝AWS CLI。如需詳細資訊,請參閱 命令列參考

若要使用 AWS for WordPressAWS CLI在 CodeCommit 儲存庫中建立提取請求

  1. 執行 create-pull-request 命令,並指定:

    • 提取請求的名稱 (使用 --title 選項)。

    • 提取請求的描述(使用 --description 選項)。

    • create-pull-request 命令的目標清單,包括:

      • 建立提取請求所在的 CodeCommit 儲存庫的名稱 (使用repositoryName屬性)。

      • 分支名稱,其中包含您希望檢閱的程式碼變更,也稱為來源分支 (使用 sourceReference 屬性)。

      • (選用) 您要合併程式碼變更所在的分支名稱,也稱為目的地分支 (如果您不想合併到預設分支) (使用 destinationReference 屬性)。

    • 唯一的用戶端產生冪等符記 (使用 --client-request-token 選項)。

    此範例建立名為 Pronunciation difficulty analyzer 的提取請求,描述為 Please review these changes by Tuesday,而且以 jane-branch 來源分支為目標。拉取請求將被合併到默認分支主要在 CodeCommit 庫中名為MyDemoRepo

    aws codecommit create-pull-request --title "Pronunciation difficulty analyzer" --description "Please review these changes by Tuesday" --client-request-token 123Example --targets repositoryName=MyDemoRepo,sourceReference=jane-branch
  2. 如果此命令成功執行,您會看到類似如下的輸出產生:

    { "pullRequest": { "approvalRules": [ { "approvalRuleContent": "{\"Version\": \"2018-11-08\",\"DestinationReferences\": [\"refs/heads/main\"],\"Statements\": [{\"Type\": \"Approvers\",\"NumberOfApprovalsNeeded\": 2,\"ApprovalPoolMembers\": [\"arn:aws:sts::123456789012:assumed-role/CodeCommitReview/*\"]}]}", "approvalRuleId": "dd8b17fe-EXAMPLE", "approvalRuleName": "2-approver-rule-for-main", "creationDate": 1571356106.936, "lastModifiedDate": 571356106.936, "lastModifiedUser": "arn:aws:iam::123456789012:user/Mary_Major", "originApprovalRuleTemplate": { "approvalRuleTemplateId": "dd3d22fe-EXAMPLE", "approvalRuleTemplateName": "2-approver-rule-for-main" }, "ruleContentSha256": "4711b576EXAMPLE" } ], "authorArn": "arn:aws:iam::111111111111:user/Jane_Doe", "description": "Please review these changes by Tuesday", "title": "Pronunciation difficulty analyzer", "pullRequestTargets": [ { "destinationCommit": "5d036259EXAMPLE", "destinationReference": "refs/heads/main", "repositoryName": "MyDemoRepo", "sourceCommit": "317f8570EXAMPLE", "sourceReference": "refs/heads/jane-branch", "mergeMetadata": { "isMerged": false } } ], "lastActivityDate": 1508962823.285, "pullRequestId": "42", "clientRequestToken": "123Example", "pullRequestStatus": "OPEN", "creationDate": 1508962823.285 } }