

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

# 中繼線策略中的分支
<a name="branches-in-a-trunk-strategy"></a>

中繼線分支策略通常具有下列分支。



![中繼線分支策略中的分支和環境。](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/choosing-git-branch-approach/images/trunk-branching-strategy.png)


## 功能分支
<a name="feature-branch"></a>

您可以在`feature`分支中開發功能或建立 Hotfix。若要建立`feature`分支，您可以從`main`分支中分支。開發人員在`feature`分支中反覆執行、遞交和測試程式碼。當功能完成時，開發人員會提升該功能。只有兩個路徑從`feature`分支轉送：
+ 合併至`sandbox`分支
+ 在`main`分支中建立合併請求


|  |  | 
| --- |--- |
| 命名慣例： | `feature/<story number>_<developer initials>_<descriptor>` | 
| 命名慣例範例： | `feature/123456_MS_Implement_Feature_A` | 

## 沙盒分支
<a name="sandbox-branch"></a>

此分支是非標準幹線分支，但適用於 CI/CD 管道開發。`sandbox` 分支主要用於下列目的：
+ 使用 CI/CD 管道執行沙盒環境的完整部署
+ 在較低環境中提交合併請求進行完整測試之前，開發和測試管道，例如開發或測試。

`Sandbox` 分支本質上是暫時的，旨在短期運作。在特定測試完成後，應將其刪除。


|  |  | 
| --- |--- |
| 命名慣例： | `sandbox/<story number>_<developer initials>_<descriptor>` | 
| 命名慣例範例： | `sandbox/123456_MS_Test_Pipeline_Deploy` | 

## 主要分支
<a name="main-branch"></a>

`main` 分支一律代表在生產環境中執行的程式碼。程式碼從 分支`main`、開發，然後合併回 `main`。來自 的部署`main`可以以任何環境為目標。若要防止刪除，請啟用分支的`main`分支保護。


|  |  | 
| --- |--- |
| 命名慣例： | `main` | 

## hotfix 分支
<a name="hotfix-branch"></a>

在以幹線為基礎的工作流程中沒有專用`hotfix`分支。Hotfix 使用`feature`分支。