[TOC]
# Git 分支開發模型
作為 Git 的分支的用例 ,這里介紹 [A successful Git branching model](http://nvie.com/posts/a-successful-git-branching-model/)
這個用例主要分為
* **主分支**
* **特性分支**
* **release 分支**
* **hotFix 分支**
分別使用 4 個種類的分支來進行開發的。

## 主分支
主分支有兩種:master 分支和 develop 分支
* **master**
master 分支只負責管理發布的狀態。在提交時使用標簽記錄發布版本號。
* **develop**
develop 分支是針對發布的日常開發分支。剛才我們已經講解過有合并分支的功用。
## 特性分支
特性分支就是我們在前面講解過的 topic 分支的功用。
這個分支是針對新功能的開發,在 bug 修正的時候從 develop 分支分叉出來的。基本上不需要共享特性分支的操作,所以不需要遠端控制。完成開發后,把分支合并回 develop 分支后發布。
## release 分支
release 分支是為 release 做準備的。通常會在分支名稱的最前面加上 release-。release 前需要在這個分支進行最后的調整,而且為了下一版 release 開發用 develop 分支的上游分支。
一般的開發是在 develop 分支上進行的,到了可以發布的狀態時再創建 release 分支,為 release 做最后的 bug 修正。
到了可以 release 的狀態時,把 release 分支合并到 master 分支,并且在合并提交里添加 release 版本號的標簽。
要導入在 release 分支所作的修改,也要合并回 develop 分支。
## hotFix 分支
hotFix 分支是在發布的產品需要緊急修正時,從 master 分支創建的分支。通常會在分支名稱的最前面加上 hotfix-。
例如,在 develop 分支上的開發還不完整時,需要緊急修改。這個時候在 develop 分支創建可以發布的版本要花許多的時間,所以最好選擇從 master 分支直接創建分支進行修改,然后合并分支。
修改時創建的 hotFix 分支要合并回 develop 分支。
# 參考
[猴子都能懂的 GIT 入門?掌握版本管理?](https://backlog.com/git-tutorial/cn/stepup/stepup1_5.html)
- 介紹
- 1. Get Git - 安裝并且設置Git
- 2. Repository - 建立一個本地的repository
- 3. Commit to it - 檢查狀態、新增或修改commits
- 4. GitHubbin - 注冊GitHub帳號
- 5. Remote Control - 將repository做本地和遠程的連接
- 6. Forks and Clones - Fork和clone一個開源的計劃
- 7. Branches aren't just for Birds - 建立一個feature branch
- Git分支開發模型
- 8. It's a Small World - 邀請并和別人合作
- 9. Pull, Never Out of Date - 利用Push和pull來和GitHub.com同步
- 10. Requesting You Pull Please - 建立一個pull request
- 11. Merge Tada - Merge和刪除branches
- 學會 GitHub
- GitHub 使用指南
- git 與 github 模板配置
- GitHub Actions
- 實用技巧
- Git Flow
- Submodule子模塊
- 工作記錄
- 常用命令
- 幫助
- 資源
- 解疑答惑