

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

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

# 在 Amazon CodeCatalyst 中使用提取請求檢閱程式碼
<a name="source-pull-requests"></a>

提取請求是您和其他專案成員可以檢閱、評論和合併不同分支程式碼變更的主要方式。您可以使用提取請求，針對發行軟體的次要變更或修正、主要功能新增或新版本，協同檢閱程式碼變更。如果您使用問題來追蹤專案上的工作，您可以連結特定問題來提取請求，以協助您追蹤提取請求中的程式碼變更正在解決的問題。當您建立、更新、評論、合併或關閉提取請求時，系統會自動傳送電子郵件給提取請求的作者，以及提取請求的任何必要或選用檢閱者。

**提示**  
您可以設定在設定檔中接收電子郵件的提取請求事件。如需詳細資訊，請參閱[從 CodeCatalyst 傳送 Slack 和電子郵件通知](notifications-manage.md)。

提取請求需要來源儲存庫中的兩個分支：包含您要檢閱之程式碼的來源分支，以及您要合併已檢閱程式碼的目的地分支。來源分支包含「之後」遞交，此遞交包含您想要合併到目的地分支的變更。目的地分支包含「之前」遞交，這代表提取請求分支合併到目的地分支之前的程式碼狀態。

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

當針對特定來源儲存庫和分支建立提取請求時，您可以建立、檢視、檢閱和關閉它們，作為使用專案的一部分。您不需要檢視來源儲存庫，即可檢視和使用提取請求。提取請求狀態會在您建立時設定為**開啟**。提取請求會保持開啟狀態，直到您在 CodeCatalyst 主控台中將其合併，將狀態變更為**合併**，或將其關閉，將狀態變更為**關閉**。

檢閱程式碼後，您可以透過下列其中一種方式變更提取請求狀態：
+ 在 CodeCatalyst 主控台中合併提取請求。提取請求來源分支中的程式碼會合併到目的地分支。提取請求狀態會變更為**合併**。它無法變更回**開啟**。
+ 在本機合併分支並推送變更，然後在 CodeCatalyst 主控台中關閉提取請求。
+ 使用 CodeCatalyst 主控台關閉提取請求而不合併。這會將狀態變更為**已關閉**，而且不會將來源分支中的程式碼合併到目的地分支。

在您建立提取請求之前：
+ 遞交您要檢閱的程式碼變更，並將其推送至分支 （來源分支）。
+ 為您的專案設定通知，以便其他使用者收到您在建立提取請求時執行的任何工作流程的通知。（此步驟是選用的，但建議使用。)

**Topics**
+ [建立提取請求](pull-requests-create.md)
+ [檢視提取請求](pull-requests-view.md)
+ [管理將提取請求與核准規則合併的要求](source-pull-requests-approval-rules.md)
+ [檢閱提取請求](pull-requests-review.md)
+ [更新提取請求](pull-requests-update.md)
+ [合併提取請求](pull-requests-merge.md)
+ [關閉提取請求](pull-requests-close.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)。

# 檢視提取請求
<a name="pull-requests-view"></a>

您可以在 Amazon 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) 運用。<a name="pull-requests-view-open-project"></a>

**檢視開啟的提取請求**

1. 導覽至您要檢視提取請求的專案。

1. 在專案頁面上，會顯示開啟的提取請求，包括建立提取請求的人員、包含提取請求分支的儲存庫，以及提取請求建立日期的相關資訊。您可以依來源儲存庫篩選開啟的提取請求檢視。

1. 若要檢視所有提取請求，請選擇**檢視全部**。您可以使用選取器在選項之間進行選擇。例如，若要檢視所有提取請求，請選擇**任何狀態**和**任何作者**。

   或者，在導覽窗格中，選擇**程式碼**，然後選擇**提取請求**，然後使用選取器來縮小檢視範圍。

1. 在**提取請求**頁面上，您可以依 ID、標題、狀態等排序提取請求。若要自訂提取請求頁面上顯示的資訊和資訊，請選擇齒輪圖示。

1. 若要檢視特定的提取請求，請從清單中選擇它。

1. 若要檢視與此提取請求相關聯的工作流程執行狀態，請選擇**概觀**，然後在**工作流程執行**下提取請求的提取請求**詳細資訊**區域中檢閱資訊。

   如果工作流程設定了提取請求建立或修訂事件，且工作流程中的目的地分支要求符合提取請求中指定的目的地分支，則會發生工作流程執行。如需詳細資訊，請參閱[將觸發條件新增至工作流程](workflows-add-trigger-add.md)。

1. 若要檢視連結的問題，請選擇**概觀**，並檢閱**問題**下**提取請求詳細資訊**中的資訊。如果您想要檢視連結的問題，請從清單中選擇其 ID。

1. （選用） 若要在提取請求的修訂中建立程式碼變更上留下的註解摘要，請選擇**建立內容摘要**。摘要不會包含整體提取請求上留下的任何註解。
**注意**  
此功能需要為空間啟用生成式 AI 功能，不適用於連結的儲存庫，並且僅適用於美國西部 （奧勒岡） 區域。如需詳細資訊，請參閱[管理生成式 AI 功能](https://docs.aws.amazon.com/codecatalyst/latest/adminguide/managing-generative-ai-features.html)。

1. 若要檢視提取請求中的程式碼變更，請選擇**變更**。您可以在變更的檔案中，快速檢視提取請求中有多少檔案有變更，以及提取請求中的哪些**檔案**有註解。資料夾旁顯示的註解數目表示該資料夾中檔案的註解數目。展開 資料夾以檢視資料夾中每個檔案的註解數量。您也可以檢視特定程式碼行上留下的任何註解。

   
**注意**  
並非所有提取請求中的變更都會顯示在主控台中。例如，您無法在主控台中檢視 Git 子模組，因此您無法在提取請求中檢視子模組的差異。有些差異可能太大而無法顯示。如需詳細資訊，請參閱[CodeCatalyst 中來源儲存庫的配額](source-quotas.md)及[檢視檔案檢視檔案變更的歷史記錄](source-files-view.md)。

1. 若要檢視此提取請求的品質報告，請選擇**報告**。
**注意**  
工作流程必須設定為產生報告，以便它們出現在您的提取請求中。如需詳細資訊，請參閱[使用工作流程進行測試使用工作流程進行測試](test-workflow-actions.md)。

# 管理將提取請求與核准規則合併的要求
<a name="source-pull-requests-approval-rules"></a>

當您建立提取請求時，您可以選擇將必要或選用的檢閱者新增至該個別提取請求。不過，您也可以建立所有提取請求在合併到特定目的地分支時必須符合的要求。這些要求稱為核准規則。針對儲存庫中的分支設定核准規則。當您建立提取請求，其目的地分支已為其設定核准規則時，除了任何必要檢閱者的核准之外，您還必須符合該規則的要求，才能將提取請求合併到該分支。建立核准規則可協助您維持合併至分支的品質標準，例如預設分支。

套用至來源儲存庫預設分支的核准規則的行為將與其他套用至其他分支的核准規則略有不同。套用至預設分支的任何規則都會自動套用至您指定為預設分支的任何分支。先前設定為預設分支的分支仍會保留規則。

當您建立核准規則時，您應該考慮目前和未來專案使用者將如何符合該規則。例如，如果您的專案中有六個使用者，而且您建立的核准規則需要五個核准才能合併到目的地分支，則您已有效地建立規則，除了建立提取佇列的人員之外，每個人都需要核准該提取請求才能合併。

**注意**  
您必須擁有專案管理員角色，才能在 CodeCatalyst 專案中建立和管理核准規則。您無法為連結的儲存庫建立核准規則。

 您無法刪除核准規則，但您可以將其更新為需要零核准，這會有效地移除規則。<a name="view-edit-approval-rules"></a>

**檢視和編輯提取請求目的地分支的核准規則**

1. 導覽至儲存庫所在的專案。

1. 從專案的來源儲存庫清單中選擇儲存庫的名稱。或者，在導覽窗格中，選擇**程式碼**，然後選擇**來源儲存庫**。

   選擇您要檢視核准規則的儲存庫。

1. 在儲存庫的概觀頁面上，選擇**分支**。

1. 在**核准規則**欄中，選擇**檢視**以查看儲存庫每個分支的任何規則狀態。

   在**核准數量下限**中，數字對應到提取請求可以合併到該分支之前所需的核准數量。

1. 若要建立或變更核准規則，請選擇**管理設定**。在來源儲存庫的設定頁面上，於**核准規則**中選擇**編輯**。
**注意**  
您必須擁有**專案管理員**角色才能編輯核准規則。

1. 在**分支**中，從下拉式清單中選擇您要為其設定核准規則的分支名稱。在**核准數量下限**中，輸入數字，然後選擇**儲存**。

# 檢閱提取請求
<a name="pull-requests-review"></a>

您可以使用 Amazon 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) 運用。

**提示**  
您可以設定在設定檔中接收電子郵件的提取請求事件。如需詳細資訊，請參閱[從 CodeCatalyst 傳送 Slack 和電子郵件通知](notifications-manage.md)。<a name="merge-base"></a>

提取請求會顯示提取請求的修訂與建立提取請求時目的地分支尖端的遞交之間的差異。這稱為合併基礎。如需 Git 中差異和合併基礎的詳細資訊，請參閱 Git 文件中的 [git-merge-base](https://git-scm.com/docs/git-merge-base)。

**提示**  
在主控台中工作時，特別是如果您已開啟提取請求一段時間，請考慮重新整理瀏覽器，以確保您在開始檢閱提取請求之前有可用的最新修訂。

**在 CodeCatalyst 主控台中檢閱提取請求**

1. 導覽至您的專案。

1. 透過執行下列其中一項操作，導覽至提取請求：
   + 如果提取請求列在專案頁面上，請從清單中選擇它。
   + 如果提取請求未列在專案頁面上，請選擇**檢視全部**。使用篩選條件和排序來尋找提取請求，然後從清單中選擇它。
   + 在導覽窗格中，選擇**程式碼**，然後選擇**提取請求**。

1. 從清單中選擇您要檢閱的提取請求。您可以在篩選列中輸入其部分名稱，以篩選提取請求的清單。

1. 在**概觀**中，您可以檢閱提取請求的名稱和標題。您可以建立和檢視提取請求本身上留下的評論。您也可以檢視提取請求的詳細資訊，包括工作流程執行、連結問題、檢閱者、提取請求的作者，以及可行合併策略的相關資訊。
**注意**  
在特定程式碼行上留下的註解會顯示在**變更**中。

1. （選用） 若要新增套用至整個提取請求的註解，請展開**提取請求的註解**，然後選擇**建立註解**。

1. （選用） 若要檢視此提取請求修訂中變更時留下的所有註解摘要，請選擇**建立註解摘要**。
**注意**  
此功能需要為空間啟用生成式 AI 功能，並且僅適用於美國西部 （奧勒岡） 區域。如需詳細資訊，請參閱[管理生成式 AI 功能](https://docs.aws.amazon.com/codecatalyst/latest/adminguide/managing-generative-ai-features.html)。

1. 在**變更**中，您可以看到目的地分支與提取請求的最新修訂之間的差異。如果有一個以上的修訂，您可以變更要比較哪些修訂之間的差異。如需修訂的詳細資訊，請參閱 [修訂](source-concepts.md#revision-concept)。
**提示**  
您可以在變更的檔案中，快速檢視提取請求中有多少檔案有變更，以及提取請求中的哪些**檔案**有註解。資料夾旁顯示的註解數目表示該資料夾中檔案的註解數目。展開 資料夾以檢視資料夾中每個檔案的註解數量。

1. 若要變更差異的顯示方式，請選擇**統一**和**分割**。

1. 若要將註解新增至提取請求中的一行，請前往您要註解的行。選擇該行出現的註解圖示，輸入註解，然後選擇**儲存**。

1. 若要檢視提取請求中修訂之間的變更，或其來源和目的地分支之間的變更，請從**比較**中的可用選項中進行選擇。修訂中的行註解會保留在這些修訂中。

1. 如果您已將工作流程設定為針對提取請求觸發產生程式碼涵蓋範圍報告，您可以在相關的提取請求中檢視行和分支涵蓋範圍問題清單。若要隱藏程式碼涵蓋範圍問題清單，請選擇**隱藏程式碼涵蓋範圍**。如需詳細資訊，請參閱[程式碼涵蓋範圍報告](test-workflow-actions.md#test-code-coverage-reports)。

1. 如果您想要對提取請求進行程式碼變更，您可以從提取請求建立開發環境。選擇**建立開發環境**。選擇性地新增開發環境的名稱或編輯其組態，然後選擇**建立**。

1. 在 **報告中**，您可以檢視此提取請求中的品質報告。如果有一個以上的修訂，您可以變更要比較哪些修訂之間的差異。您可以依名稱、狀態、工作流程、動作和類型篩選報告。
**注意**  
工作流程必須設定為產生報告，以便它們出現在您的提取請求中。如需詳細資訊，請參閱[在 動作中設定品質報告](test-config-action.md)。

1. 若要檢視特定報告，請從清單中選擇它。如需詳細資訊，請參閱[使用工作流程進行測試使用工作流程進行測試](test-workflow-actions.md)。

1. 如果您被列為此提取請求的檢閱者，並想要核准變更，請確定您正在檢視最新的修訂，然後選擇**核准**。
**注意**  
所有必要的檢閱者必須先核准提取請求，才能合併。

# 更新提取請求
<a name="pull-requests-update"></a>

您可以更新提取請求，讓其他專案成員更輕鬆地檢閱程式碼。您可以更新提取請求，以變更其檢閱者、問題的連結、提取請求的標題或其描述。例如，您可能想要變更提取請求的必要檢閱者，以移除休假中的某人，並新增其他人。您也可以透過將遞交推送至開啟提取請求的來源分支，以進一步變更程式碼來更新提取請求。每個推送到 CodeCatalyst 來源儲存庫中提取請求的來源分支都會建立修訂。專案成員可以檢視提取請求中修訂之間的差異。<a name="pull-requests-update-reviewers"></a>

**更新提取請求的檢閱者**

1. 導覽至您要更新提取請求檢閱者的專案。

1. 在專案頁面的**開啟提取請求**下，選擇您要更新檢閱者的提取請求。或者，在導覽窗格中，選擇**程式碼**，選擇**提取請求**，然後選擇您要更新的提取請求。

1. （選用） 在**概觀**中，在**提取請求詳細資訊**區域中，選擇加號以新增必要或選用的檢閱者。選擇檢閱者旁的 **X**，將其移除為選用或必要檢閱者。

   

1. （選用） 在**概觀**中，在**提取請求詳細資訊**區域中，選擇**連結問題**以將問題連結至提取請求，然後從清單中選擇問題或輸入其 ID。若要取消連結問題，請選擇您要取消連結的問題旁邊的取消連結圖示。<a name="pull-requests-update-code"></a>

**更新提取請求來源分支中的檔案和程式碼**

1. 若要更新多個檔案，[請建立開發環境](devenvironment-create.md)，或複製儲存庫及其來源分支，並使用 Git 用戶端或整合式開發環境 (IDE) 對來源分支中的檔案進行變更。遞交變更並推送至 CodeCatalyst 來源儲存庫中的來源分支，以自動更新提取請求與變更。如需詳細資訊，請參閱[複製來源儲存庫](source-repositories-clone.md)及[了解 Amazon CodeCatalyst 中具有遞交的原始程式碼變更](source-commits.md)。

1. 若要更新來源分支中的個別檔案，您可以像使用多個檔案一樣使用 Git 用戶端或 IDE。您也可以直接在 CodeCatalyst 主控台中進行編輯。如需詳細資訊，請參閱[編輯檔案](source-files-edit.md)。<a name="pull-requests-update-pull-request"></a>

**更新提取請求的標題和描述**

1. 導覽至您要更新提取請求標題或描述的專案。

1. 專案頁面會顯示開啟的提取請求，包括建立提取請求的人員、包含提取請求分支的儲存庫，以及提取請求建立的時間。您可以依來源儲存庫篩選開啟的提取請求檢視。從清單中選擇您要變更的提取請求。

1. 若要檢視所有提取請求，請選擇**檢視全部**。或者，在導覽窗格中，選擇**程式碼**，然後選擇**提取請求**。使用篩選方塊或排序函數來尋找您要變更的提取請求，然後選擇它。

1.  在**概觀**中，選擇**編輯**。

1. 變更標題或描述，然後選擇**儲存**。

# 合併提取請求
<a name="pull-requests-merge"></a>

在檢閱您的程式碼並核准所有必要的檢閱者之後，您可以使用支援的合併策略，例如快轉，在 CodeCatalyst 主控台中合併提取請求。並非所有 CodeCatalyst 主控台支援的合併策略都可以作為所有提取請求的選擇。CodeCatalyst 會評估合併，而且只允許您在主控台中可用的合併策略之間進行選擇，並且能夠將來源分支合併到目的地分支。您也可以在本機電腦或開發環境上執行 **git merge**命令，將來源分支合併到目的地分支，以將提取請求與您選擇的 Git 合併策略合併。然後，您可以將目的地分支中的這些變更推送到 CodeCatalyst 中的來源儲存庫。

**注意**  
在 Git 中合併分支並推送變更不會自動關閉提取請求。

如果您有專案管理員角色，您也可以選擇合併尚未符合核准和核准規則所有要求的提取請求。

## 合併提取請求 （主控台）
<a name="pull-requests-merge-console"></a>

如果來源和目的地分支之間沒有合併衝突，而且所有必要的檢閱者都已核准提取請求，您可以在 CodeCatalyst 主控台中合併提取請求。如果有衝突，或合併無法完成，合併按鈕會處於非作用中狀態，並顯示**不可合併**標籤。在這種情況下，您必須取得任何必要核准者的核准、視需要在本機解決衝突，並推送這些變更，才能合併。合併提取請求會自動傳送電子郵件給提取請求的建立者，以及任何必要或選用的檢閱者。它不會自動關閉或變更與提取請求連結的任何問題的狀態。

**提示**  
您可以設定在設定檔中接收電子郵件的提取請求事件。如需詳細資訊，請參閱[從 CodeCatalyst 傳送 Slack 和電子郵件通知](notifications-manage.md)。<a name="pull-requests-merge-console"></a>

**合併提取請求**

1. 導覽至您要合併提取請求的專案。

1. 在專案頁面的**開啟提取請求**下，選擇您要合併的提取請求。如果您沒有看到提取請求，請選擇**檢視所有提取請求**，然後從清單中選擇它。或者，在導覽窗格中，選擇**程式碼**，選擇**提取請求**，然後選擇您要合併的提取請求。選擇 **Merge (合併)**。

1. 從提取請求的可用合併策略中選擇。或者，選取或取消選取在合併提取請求後刪除來源分支的選項，然後選擇**合併**。
**注意**  
如果**合併**按鈕處於非作用中狀態，或者您看到**不可合併**標籤，則所需的檢閱者尚未核准提取請求，或者提取請求無法在 CodeCatalyst 主控台中合併。尚未核准提取請求的檢閱者會以**概觀**中**提取請求詳細資訊**區域中的時鐘圖示表示。如果所有必要的檢閱者都已核准提取請求，但**合併**按鈕仍處於非作用中狀態，則可能會發生合併衝突。選擇底線**的不可合併**標籤，以查看為何無法合併提取請求的更多詳細資訊。您可以在開發環境或 CodeCatalyst 主控台中解決目的地分支的合併衝突，然後合併提取請求，或者您可以解決衝突並在本機合併，然後將包含合併的遞交推送至 CodeCatalyst 中的來源分支。如需詳細資訊，請參閱 [合併提取請求 (Git)](#pull-requests-merge-git)和您的 Git 文件。

## 覆寫合併需求
<a name="pull-requests-merge-override"></a>

如果您有**專案管理員**角色，您可以選擇合併尚未符合必要核准和核准規則的所有要求的提取請求。這稱為覆寫提取請求的要求。如果必要的檢閱者無法使用，或者出現將特定提取請求合併到無法快速滿足核准規則的分支的緊急需求，您可以選擇這樣做。<a name="pull-requests-merge-console"></a>

**合併提取請求**

1. 在您要覆寫需求並合併的提取請求中，選擇**合併**按鈕旁的下拉式箭頭。選擇**覆寫核准需求**。

1. 在**覆寫原因**中，提供合併此提取請求的原因詳細資訊，而不滿足核准規則和必要的檢閱者要求。雖然這是選用的，但強烈建議這樣做。

1. 選擇性地選擇合併策略，或接受預設值。您也可以選擇使用更多詳細資訊來更新自動產生的遞交訊息。

1. 選取或取消選取合併時刪除來源分支的選項。我們建議您在覆寫合併提取請求的需求時保留來源分支，直到您有機會與其他團隊成員檢閱決策為止。

1. 選擇 **Merge (合併)**。

## 合併提取請求 (Git)
<a name="pull-requests-merge-git"></a>

Git 支援許多合併和管理分支的選項。下列命令是您可以使用的一些選項。如需詳細資訊，請參閱 [Git 網站上的](https://git-scm.com/doc)可用文件。合併並推送變更後，請手動關閉提取請求。如需詳細資訊，請參閱[關閉提取請求](pull-requests-close.md)。


**合併分支的常見 Git 命令**  

|  |  | 
| --- |--- |
|  將本機儲存庫中的來源分支變更合併至本機儲存庫中的目的地分支。  |  `git checkout destination-branch-name` `git merge source-branch-name`  | 
|  將來源分支合併到目的地分支，指定快速向前合併。這會合併分支，並將目的地分支指標移至來源分支的頂端。  |  `git checkout destination-branch-name` `git merge --ff-only source-branch-name`  | 
|  將來源分支合併到目的地分支，指定小隊合併。這會將來源分支的所有遞交合併為目的地分支中的單一合併遞交。  |  `git checkout destination-branch-name` `git merge --squash source-branch-name`  | 
|  將來源分支合併到目的地分支，指定三向合併。這會建立合併遞交，並將個別遞交從來源分支新增至目的地分支。  |  `git checkout destination-branch-name` `git merge --no-ff source-branch-name`  | 
|  刪除本機儲存庫中的來源分支。在合併至目的地分支並將變更推送至來源儲存庫之後，這對於做為本機儲存庫的清除很有用。  |  `git branch -d source-branch-name`  | 
|  使用本機儲存庫為遠端儲存庫指定的別名，刪除遠端儲存庫中的來源分支 (CodeCatalyst 中的來源儲存庫）。(注意冒號 (`:`) 的使用方式。) 或者，指定 `--delete`做為 命令的一部分。  |  `git push remote-name :source-branch-name` `git push remote-name --delete source-branch-name`  | 

# 關閉提取請求
<a name="pull-requests-close"></a>

您可以將提取請求標記為**已關閉**。這不會合併提取請求，但可協助您判斷哪些提取請求需要動作，以及哪些提取請求不再相關。如果您不再打算合併這些變更，或變更是由另一個提取請求合併，建議您關閉提取請求。

關閉提取請求會自動傳送電子郵件給提取請求的建立者，以及任何必要或選用的檢閱者。它不會自動變更與提取請求連結的任何問題的狀態。

**注意**  
關閉提取請求之後，您就無法重新開啟該請求。<a name="pull-requests-close-pull-request"></a>

**關閉提取請求**

1. 導覽至您要關閉提取請求的專案。

1. 在專案頁面上，會顯示開啟的提取請求。選擇您要關閉的提取請求。

1. 選擇**關閉**。

1. 檢閱資訊，然後選擇**關閉提取請求**。