

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

# GitHub 流程策略中的分支
<a name="branches-in-a-git-hub-flow-strategy"></a>

GitHub 流程分支策略通常具有下列分支。



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


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

您可以在`feature`分支中開發功能。若要建立`feature`分支，您可以從`main`分支中分支。開發人員在`feature`分支中反覆、遞交和測試程式碼。當功能完成時，開發人員會透過向 建立合併請求來提升功能`main`。


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

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

`bugfix` 分支用於修正問題。這些分支會從`main`分支分支分支出來。在沙盒或任何較低環境中測試錯誤修正之後，可以透過合併`main`請求將其合併到更高的環境。這是組織和追蹤的建議命名慣例，也可以使用功能分支來管理此程序。


|  |  | 
| --- |--- |
| 命名慣例： | `bugfix/<ticket number>_<developer initials>_<descriptor>` | 
| 命名慣例範例： | `bugfix/123456_MS_Fix_Problem_A` | 

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

`hotfix` 分支用於解決高影響的關鍵問題，並將開發人員與生產環境中部署的程式碼之間的延遲降到最低。這些分支會從`main`分支分支分支出來。在沙盒或任何較低環境中測試 Hotfix 之後，可以透過合併`main`請求將 Hotfix 合併到更高環境。這是組織和追蹤的建議命名慣例，也可以使用功能分支來管理此程序。


|  |  | 
| --- |--- |
| 命名慣例： | `hotfix/<ticket number>_<developer initials>_<descriptor>` | 
| 命名慣例範例： | `hotfix/123456_MS_Fix_Problem_A` | 

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

`main` 分支一律代表在生產環境中執行的程式碼。程式碼會使用合併請求，從`main`分支合併到`feature`分支中。為了防止刪除和防止開發人員將程式碼直接推送到 `main`，請啟用分支的`main`分支保護。


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