

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

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

# 使用分支規則管理分支的允許動作
<a name="source-branches-branch-rules"></a>

當您建立分支時，根據該角色的許可，該分支允許特定動作。您可以設定分支規則來變更特定分支允許的動作。分支規則是根據使用者在專案中的角色。您可以選擇將一些預先定義的動作限制在專案中具有特定角色的使用者，例如將遞交推送至分支。這可以透過限制允許哪些角色執行特定動作，協助您保護專案中的特定分支。例如，如果您設定分支規則只允許具有**專案管理員**角色的使用者合併或推送至該分支，則具有專案中其他角色的使用者將無法變更該分支中的程式碼。

您應該仔細考慮為分支建立規則的所有影響。例如，如果您選擇限制向具有**專案管理員**角色的使用者推送分支，則具有 **Contributor **角色的使用者將無法在該分支中建立或編輯工作流程，因為工作流程 YAML 存放在該分支中，而且這些使用者無法遞交變更並將其推送至 YAML。作為最佳實務，請在建立分支規則之後對其進行測試，以確保它們不會對您不打算產生任何影響。您也可以使用分支規則搭配提取請求的核准規則。如需詳細資訊，請參閱[管理將提取請求與核准規則合併的要求](source-pull-requests-approval-rules.md)。

**注意**  
您必須擁有專案管理員角色，才能管理 CodeCatalyst 專案中來源儲存庫的分支規則。您無法為連結的儲存庫建立分支規則。  
您只能建立比角色預設許可更嚴格的分支規則。您無法建立比專案中使用者角色允許的更寬鬆的分支規則。例如，您無法建立允許具有 Reviewer 角色的使用者推送至分支的分支規則。

套用至來源儲存庫預設分支的分支規則的行為將與其他套用至其他分支的分支規則略有不同。套用至預設分支的任何規則都會自動套用至您指定為預設分支的任何分支。先前設定為預設分支的分支仍會保留套用至它的規則，但不再具有刪除保護。該保護僅適用於目前的預設分支。

分支規則有兩個狀態：**標準**和**自訂**。**標準**表示分支上允許的動作，是符合使用者在 CodeCatalyst 中具有的分支動作角色許可的動作。若要進一步了解哪些角色具有哪些許可，請參閱 [使用使用者角色授予存取權](ipa-roles.md)。**自訂**表示一或多個分支動作具有的動作具有特定的角色清單，允許執行該動作，該動作不同於專案中使用者角色授予的預設許可。

**注意**  
如果您建立分支規則來限制分支的一或多個動作，**則刪除分支**動作會自動設定為僅允許具有專案管理員角色的使用者刪除該分支。

下表列出允許在分支上執行這些動作之角色的動作和預設設定。


**分支動作和角色**  

| **分支動作** |  允許在未套用分支規則時執行此動作的角色  | 
| --- | --- | 
|  合併至分支 （包括合併提取請求至分支）  |  專案管理員，貢獻者  | 
|  推送至分支  |  專案管理員，貢獻者  | 
|  刪除分支  |  專案管理員，貢獻者  | 
|  刪除分支 （預設分支）  |  不允許  | 

 您無法刪除分支規則，但您可以更新這些規則，以允許來自允許在分支上執行此動作之所有角色的動作，這會有效地移除規則。

**注意**  
您必須擁有專案管理員角色，才能為 CodeCatalyst 專案中的來源儲存庫設定分支規則。這不適用於連結的儲存庫。連結的儲存庫不支援 CodeCatalyst 中的分支規則。<a name="view-edit-branch-rules"></a>

**檢視和編輯儲存庫的分支規則**

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

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

   選擇您要檢視分支規則的儲存庫。

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

1. 在**分支規則**欄中，檢視儲存庫每個分支的規則狀態。**標準**表示分支動作的規則是來源儲存庫中建立的任何分支的預設規則，並符合專案中授予這些角色的許可。**自訂**表示一或多個分支動作具有將該分支允許的一或多個動作限制為不同角色集的規則。

   若要檢視分支規則的詳細資訊，請選擇您要檢閱之分支旁的**標準**或**自訂**一詞。

1. 若要建立或變更分支規則，請選擇**管理設定**。在來源儲存庫的設定頁面上的**分支規則**中，選擇**編輯**。

1. 在**分支**中，從下拉式清單中選擇您要為其設定規則的分支名稱。對於每個允許的動作類型，從下拉式清單中選擇您要允許 執行該動作的角色，然後選擇**儲存**。