

Amazon CodeCatalyst 不再向新客戶開放。現有客戶可以繼續正常使用該服務。如需詳細資訊，請參閱[如何從 CodeCatalyst 遷移](migration.md)。

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

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

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

您可以從特定分支、提取請求頁面或專案概觀，在 Amazon CodeCatalyst 主控台中建立提取請求。從特定分支建立提取請求會自動在提取請求建立頁面上提供儲存庫名稱和來源分支。當您建立提取請求時，您會自動收到有關提取請求的任何更新，以及提取請求何時合併或關閉的電子郵件。

**注意**  
當您建立提取請求時，所顯示的差異是來源分支的尖端與目的地分支的尖端之間的差異。建立提取請求後，所顯示的差異將是您選擇的提取請求修訂與建立提取請求時目的地分支頂端的遞交之間。如需 Git 中差異和合併基礎的詳細資訊，請參閱 Git 文件中的 [git-merge-base](https://git-scm.com/docs/git-merge-base)。

您可以在建立提取請求時**為我使用寫入描述**功能，讓 Amazon Q 自動建立提取請求中包含的變更描述。當您選擇此選項時，Amazon Q 會分析包含程式碼變更的來源分支與您要合併這些變更的目的地分支之間的差異。然後，它會建立這些變更的摘要，以及這些變更意圖和效果的最佳解釋。此功能僅適用於美國西部 （奧勒岡） 區域的 CodeCatalyst 提取請求。**我的寫入描述**功能不適用於連結儲存庫中的提取請求。

**注意**  
**採用 Amazon Bedrock 技術**： AWS 實作[自動濫用偵測](https://docs.aws.amazon.com//bedrock/latest/userguide/abuse-detection.html)。由於**為我撰寫說明**、**建立內容摘要**、**建議的任務**、**使用 Amazon Q 建立或新增功能至專案**，以及**將問題指派給 Amazon Q** 功能，搭配適用於軟體開發的 Amazon Q Developer 代理程式功能建置在 Amazon Bedrock 上，因此使用者可以充分利用 Amazon Bedrock 中實作的控制措施，來加強安全性、資安和負責任的人工智慧 (AI) 運用。

**建立提取請求**

1. 導覽至您的專案。

1. 執行以下任意一項：
   + 在導覽窗格中，選擇**程式碼**，選擇**提取請求**，然後選擇**建立提取請求**。
   + 在儲存庫首頁上，選擇**更多**，然後選擇**建立提取請求**。
   + 在專案頁面上，選擇**建立提取請求**。

1. 在**來源儲存庫**中，請確定指定的來源儲存庫包含遞交的程式碼。只有在您未從儲存庫的主頁面建立提取請求時，才會顯示此選項。

1. 在**目的地分支**中，選擇要在檢閱程式碼之後將程式碼合併到其中的分支。

1. 在**來源分支**中，選擇包含遞交程式碼的分支。

1. 在**提取請求標題**中，輸入標題，以協助其他使用者了解需要檢閱的內容和原因。

1. （選用） 在**提取請求描述**中，提供問題連結或變更描述等資訊。
**提示**  
您可以選擇**寫入描述，**讓 CodeCatalyst 自動產生提取請求中包含的變更描述。您可以在將自動產生的描述新增至提取請求之後對其進行變更。  
此功能需要為空間啟用生成式 AI 功能，且不適用於連結儲存庫中的提取請求。如需詳細資訊，請參閱[管理生成式 AI 功能](https://docs.aws.amazon.com/codecatalyst/latest/adminguide/managing-generative-ai-features.html)。

1. （選用） 在**問題**中，選擇**連結問題**，然後從清單中選擇問題或輸入其 ID。若要取消連結問題，請選擇取消連結圖示。

1. （選用） 在**必要檢閱者**中，選擇**新增必要檢閱者**。從專案成員清單中選擇以新增成員。必要的檢閱者必須先核准變更，才能將提取請求合併到目的地分支。
**注意**  
您無法將檢閱者同時新增為必要檢閱者和選用檢閱者。您無法將自己新增為檢閱者。

1. （選用） 在**選用檢閱者**中，選擇**新增選用檢閱者**。從專案成員清單中選擇以新增成員。在提取請求可以合併到目的地分支之前，選用檢閱者不需要核准變更。

1. 檢閱分支之間的差異。提取請求中顯示的差異是來源分支中的修訂與合併基礎之間的變更，這是建立提取請求時目的地分支的前端遞交。如果沒有顯示任何變更，則分支可能相同，或者您可能已為來源和目的地選擇相同的分支。

1. 當您滿意提取請求包含您要檢閱的程式碼和變更時，請選擇**建立**。
**注意**  
建立提取請求之後，您可以新增註解。評論可以新增到提取請求或檔案中的個別行，以及整體提取請求。您可以使用 @ 符號加上檔案名稱，以新增資源的連結，例如檔案。<a name="pull-requests-create-from-branch"></a>

**從分支建立提取請求**

1. 導覽至您要建立提取請求的專案。

1. 在導覽窗格中，選擇**來源儲存庫**，然後選擇包含您要檢閱程式碼變更之分支的儲存庫。

1. 選擇預設分支名稱旁的下拉式箭頭，然後從清單中選擇您想要的分支。若要檢視儲存庫的所有分支，請選擇**檢視全部**。

1. 選擇**更多**，然後選擇**建立提取請求**。

1. 儲存庫和來源分支會為您預先選取。在**目的地分支**中，選擇檢閱後要合併程式碼的分支。在**提取請求標題**中，輸入標題，以協助其他專案使用者了解必須檢閱的內容及其原因。或者，在**提取請求描述**中提供更多資訊，例如貼上 CodeCatalyst 中相關問題的連結，或新增您所做的變更描述。
**注意**  
如果提取請求的目的地分支符合工作流程中指定的其中一個分支，則設定為針對提取請求建立事件執行的工作流程將在建立提取請求之後執行。

1. 檢閱分支之間的差異。如果未顯示任何變更，則分支可能相同，或者您可能已為來源和目的地選擇相同的分支。

1. （選用） 在**問題**中，選擇**連結問題**，然後從清單中選擇問題或輸入其 ID。若要取消連結問題，請選擇取消連結圖示。

1. （選用） 在**必要檢閱者**中，選擇**新增必要檢閱者**。從專案成員清單中選擇以新增成員。必要的檢閱者必須先核准變更，才能將提取請求合併到目的地分支。
**注意**  
您無法將檢閱者同時新增為必要和選用。您無法將自己新增為檢閱者。

1. （選用） 在**選用檢閱者**中，選擇**新增選用檢閱者**。從專案成員清單中選擇以新增成員。選用檢閱者不需要核准變更，才能將提取請求合併到目的地分支。

1. 當您滿意提取請求包含您想要檢閱的變更，並包含必要的檢閱者時，請選擇**建立**。

如果您有任何工作流程設定為在分支與提取請求中的目的地分支相符的情況下執行，則在提取請求建立後，您會在**提取請求詳細資訊**區域中的**概觀**中看到這些工作流程執行的相關資訊。如需詳細資訊，請參閱[將觸發條件新增至工作流程](workflows-add-trigger-add.md)。