

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

# 建立提取請求
<a name="how-to-create-pull-request"></a>

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

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

**Topics**
+ [

## 建立提取請求 （主控台）
](#how-to-create-pull-request-console)
+ [

## 建立提取請求 (AWS CLI)
](#how-to-create-pull-request-cli)

## 建立提取請求 （主控台）
<a name="how-to-create-pull-request-console"></a>

您可以使用 CodeCommit 主控台在 CodeCommit 儲存庫中建立提取請求。如果您的儲存庫已[設定通知](how-to-repository-email.md)，當您建立提取請求時，訂閱的使用者會收到一封電子郵件。

1. 在 https：//[https://console.aws.amazon.com/codesuite/codecommit/home](https://console.aws.amazon.com/codesuite/codecommit/home) 開啟 CodeCommit 主控台。

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

1. 在導覽窗格中，選擇 **Pull requests (提取請求)**。
**提示**  
您也可以從 **Branches (分支)** 和 **Code (程式碼)** 建立提取請求。

1. 選擇 **Create pull request (建立提取請求)**。  
![\[從 CodeCommit 主控台的提取請求頁面建立提取請求。\]](http://docs.aws.amazon.com/zh_tw/codecommit/latest/userguide/images/codecommit-pull-request-view.png)

1. 在 **Create pull request (建立提取請求)** 的 **Source (來源)** 中，選擇分支，其中包含您希望檢閱的變更。

1. 在**目的地**中，選擇您要在提取請求關閉時合併程式碼變更的分支。

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

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

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

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

1. 選擇**建立**。  
![\[建立提取請求\]](http://docs.aws.amazon.com/zh_tw/codecommit/latest/userguide/images/codecommit-pull-request-create.png)

您的提取請求會出現在儲存庫的提取請求清單中。如果您已[設定通知](how-to-repository-email.md)，Amazon SNS 主題的訂閱者會收到一封電子郵件，通知他們新建立的提取請求。

## 建立提取請求 (AWS CLI)
<a name="how-to-create-pull-request-cli"></a>

若要搭配 CodeCommit 使用 AWS CLI 命令，請安裝 AWS CLI。如需詳細資訊，請參閱[命令列參考](cmd-ref.md)。

**使用 AWS CLI 在 CodeCommit 儲存庫中建立提取請求**
+ 執行 **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 
  ```