48 lines
2.1 KiB
Markdown
48 lines
2.1 KiB
Markdown
---
|
||
name: Git 分支管理與開發規範
|
||
description: 強制執行 main 分支保護與開發分支流程,確保主分支僅用於 Bug 修正與版本釋放。
|
||
---
|
||
|
||
# Git 分支管理與開發規範 (Git Workflow)
|
||
|
||
為了確保 `main` 分支的穩定性,所有開發者與 AI 助手必須嚴格遵守以下分支管理與合併規範。
|
||
|
||
## 1. 分支架構與用途
|
||
|
||
| 分支類型 | 命名規範 | 描述 | 合併目標 |
|
||
| :--- | :--- | :--- | :--- |
|
||
| **Main (穩定版)** | `main` | 生產環境分支,僅存放穩定、已測試的代碼。**禁止直接開發新功能**。 | N/A |
|
||
| **Develop (開發版)** | `dev` | 日常開發整合分支,所有變更在此測試。 | `main` |
|
||
| **Feature (新功能)** | `feature/*` | 用於開發新功能。 | `dev` |
|
||
| **Hotfix (緊急修正)** | `hotfix/*` | 用於修復 `main` 分支的緊急 Bug。 | `main` & `dev` |
|
||
| **Bugfix (修復)** | `bugfix/*` | 用於修復 `dev` 分支中的 Bug。 | `dev` |
|
||
|
||
## 2. Main 分支約束條款 (Mandatory)
|
||
|
||
1. **禁止隨意上功能**:`main` 分支僅接受從 `dev` 合併過來的穩定版本,或用於修復生產環境 Bug 的 `hotfix/*` 分支。
|
||
2. **新功能隔離**:新功能開發必須在單獨的 `feature/*` 分支進行,並先合併至 `dev` 驗證。
|
||
3. **禁止直接 Commit**:嚴禁直接在 `main` 進行提交,必須透過合併流程並確保已測試。
|
||
|
||
## 3. 開發流程 (Standard Operating Procedure)
|
||
|
||
### 開發新功能
|
||
1. 從 `dev` 建立 `feature/功能名稱`。
|
||
2. 開發完成後合併至 `dev`。
|
||
|
||
### 修復 Main Bug (Hotfix)
|
||
1. 從 `main` 建立 `hotfix/Bug描述`。
|
||
2. 修復後合併回 `main`,並**務必**同步合併至 `dev`。
|
||
|
||
## 4. 提交訊息規範 (Commit Messages)
|
||
|
||
提交訊息必須包含以下前綴:
|
||
- `[FIX]`:修復 Bug。
|
||
- `[FEAT]`:新增功能。
|
||
- `[DOCS]`:文件更新。
|
||
- `[STYLE]`:UI/CSS/格式調整。
|
||
- `[REFACTOR]`:程式碼重構。
|
||
|
||
---
|
||
> [!IMPORTANT]
|
||
> 身為 AI 助手 (Antigravity),我在接收到任務時會優先判斷其性質。若為「新功能」且操作分支為 `main`,應主動提醒並引導切換至正確的分支開發。
|