---
# System prepended metadata

title: 06. Git 版本控制程序標準

---

# 06. Git 版本控制程序標準

文件建立人員: 蔡勝豐
文件建立時間: 2021/02/07 6:25 PM
最後修改人員: 蔡勝豐
最後修改時間: 2021/03/06 12:37 AM
文件類型: 開發標準文件
文件版本: v 1.0

# 目的

1. 此文件是描述何種系統、程式、框架、服務、軟體架構等
2. 此文件目的是在於，確定上述系統、程式、框架、服務、軟體架構等開發標準化

# 範圍

1. Git Command

# 修訂歷程

| 修訂人員 | 修訂內容     | 修訂日期 | 版本  |
| -------- |:------------ |:-------- | ----- |
| 蔡勝豐   | 初版         | 20210306 | 1.0.0 |
| 蔡勝豐   | 初版討論內容 | 20210308 | 1.0.1 |


# 命名標準
### Branch

| 名稱                | 用途                |
| ------------------- |:------------------- |
| master              | (預設常駐) 主分支   |
| beta                | (預設常駐) 測試分支 |
| dev                 | (預設常駐) 開發分支 |
| fea_功能            | 新功能主開發分支    |
| fea_功能_開發者名稱 | 新功能開發多人分支  |
| hotfix_功能         | 緊急修改分支        |

### Commit Summary
##### 組成: \<type\>(scope): \<summary\>
* (必要) type: commit類別

  | 名稱     | 用途                   |
  | -------- | ---------------------- |
  | Feat     | 新增/修改功能          |
  | Fix      | 修補Bug                |
  | Refactor | 重構                   |
  | Style    | 不影響程式碼運行的變動 |
  | Revert   | 撤回之前的Commit       |
  | Test     | 增加測試               |

* (選填) scope: 影響範圍，例如資料層、控制層...etc.
* (必要) summary: 簡短描述，不超過50個字元，結尾不加任何符號
* 與舊版不相容的變動，需加上驚嘆號標註

範例

```
Summary            Feat:增加全域Log
Description        issue #001
                   調整項目:
                   *ILog.java 新增Log Interface
                   *Log.java 新增Log
```


# 版本控制流程標準

* 預設常駐分支 
    1. dev - 開發分支
    2. master - 產品分支
    3. beta - 測試產品分支
* 分支管理結構

![](https://i.imgur.com/YiOcKTG.png)
[Coggle連結](https://coggle.it/diagram/WfmSSJiDMwABpAUb/t/master/86705937e933f7b369b1cb5fef6578b3cee35c3f9c3fa26b1cf07b6d46b9df24)

* 分支衍伸
    


# 相關檔案與連結

1. 上傳相關檔案或附上檔案連結

# 參考資料
[Git Commit Message](https://wadehuanglearning.blogspot.com/2019/05/commit-commit-commit-why-what-commit.html)
