本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用分支規則管理分支允許的操作
當您建立分支時,該分支會根據該角色的權限允許某些動作。您可以透過配置分支規則來變更特定分支允許的動作。分支規則是根據使用者在專案中擁有的角色而定。您可以選擇將某些預先定義的動作限制為專案中具有特定角色的使用者,例如將提交推送至分支。這可協助您保護專案中的特定分支,方法是限制允許哪些角色執行特定動作。例如,如果您將分支規則設定為只允許具有專案管理員角色的使用者合併或推送至該分支,則專案中具有其他角色的使用者將無法變更該分支中的程式碼。
您應該仔細考慮為分支創建規則的所有含義。例如,如果您選擇將推送到分支限制為具有 Project 管理員角色的使用者,具有 Contributor 角色的使用者將無法在該分支中建立或編輯工作流程,因為工作流程 YAML 儲存在該分支中,而且這些使用者無法認可和推送變更至 YAML。最佳做法是在建立任何分支規則之後進行測試,以確保它們不會產生任何您不想要的影響。您也可以將分支規則與提取請求的核准規則搭配使用。如需詳細資訊,請參閱 管理合併提取請求與核准規則的需求。
注意
您必須具有專案管理員角色,才能管理 CodeCatalyst 專案中來源儲存庫的分支規則。您無法為連結的儲存庫建立分支規則。
您只能建立比角色預設權限更嚴格的分支規則。您無法建立比使用者在專案中所允許的角色更寬鬆的分支規則。例如,您無法建立允許具有「審核者」角色的使用者推送至分支的分支規則。
套用至來源儲存庫預設分支的分支規則會與套用至其他分支的分支規則稍有不同。套用至預設分支的任何規則都會自動套用至您指定為預設分支的任何分支。先前設定為預設分支的分支仍會保留套用規則,除了它將不再具有防止刪除的保護。該保護僅適用於當前默認分支。
分支規則有兩種狀態:標準和自訂。「標準」表示分支上允許的動作是與使用者針對分支動作所擁有的角色權限相符 CodeCatalyst 的動作。若要深入瞭解哪些角色具有哪些權限,請參閱授予使用者角色的存取權。「自訂」(Custom) 表示一或多個分支動作具有允許執行該動作的特定角色清單,這些動作與專案中使用者 Roe 授予的預設權限不同。
注意
如果您建立分支規則來限制分支的一或多個動作,則「刪除分支」(Delete the branch) 動作會自動設定為只允許具有「專案管理員」角色的使用者刪除該分支。
下表列出了允許在分支上執行這些動作的角色的動作和預設設定。
分支動作和角色 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
分支動作 |
未套用分支規則時允許執行此動作的角色 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
合併到分支(這包括將拉取請求合併到分支) |
項目管理員,貢獻者 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
推送到分支機構 |
項目管理員,貢獻者 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
刪除分支 |
項目管理員,貢獻者 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
刪除分支(默認分支) |
不允許 |
您無法刪除分支規則,但您可以更新它們,以允許所有角色的動作在分支上執行此動作,從而有效地移除規則。
注意
您必須具有專案管理員角色,才能設定 CodeCatalyst 專案中來源儲存庫的分支規則。這不適用於連結的儲存庫。連結的儲存庫不支援中的分支規則 CodeCatalyst。
若要檢視和編輯存放庫的分支規則
-
導覽至儲存庫所在的專案。
-
從專案的來源儲存庫清單中選擇儲存庫的名稱。或者,在導覽窗格中,選擇 [程式碼],然後選擇 [原始碼儲存庫]。
選擇您要檢視分支規則的存放庫。
-
在存放庫的概觀頁面上,選擇「分支」。
-
在「分支規則」欄中,檢視存放庫每個分支的規則狀態。「標準」表示分支動作的規則是在來源存放庫中建立的任何分支的預設規則,並符合授與專案中這些角色的權限。「自訂」表示一或多個分支動作具有將該分支允許的一或多個動作限制為不同角色集的規則。
若要檢視分支規則的細節,請選擇您要檢閱的分支旁邊的「標準」或「自訂」一詞。
-
若要建立或變更分支規則,請選擇 [管理設定]。在來源儲存區域的設定頁面上,選擇 「分支規則」中的「編輯」。
-
在「分支」中,從下拉式清單中選擇要為其配置規則的分支名稱。針對每個允許的動作類型,從下拉式清單中選擇您要允許執行該動作的角色,然後選擇 [儲存]。