# Git 分支管理與開發規範 (Star ERP) 為了確保 `main` 分支的穩定性,本專案即日起實施以下分支管理約束。 ## 1. 分支定義 | 分支類型 | 命名規範 | 描述 | 合併目標 | | :--- | :--- | :--- | :--- | | **Main (穩定版)** | `main` | 生產環境分支,僅存放**穩定、已測試**的代碼。 | N/A | | **Develop (開發版)** | `dev` | 日常開發整合分支,所有功能在此測試。 | `main` (週期性) | | **Feature (新功能)** | `feature/*` | 用於開發新功能。 | `dev` | | **Hotfix (緊急修正)** | `hotfix/*` | 用於修復 `main` 分支的緊急 Bug。 | `main` & `dev` | | **Bugfix (一般修復)** | `bugfix/*` | 用於修復 `dev` 分支中的 Bug。 | `dev` | ## 2. Main 分支約束條款 1. **禁止直接提交**:嚴禁直接在 `main` 分支進行 `git commit`。所有變更必須透過 Pull Request (PR) 或 Merge Request。 2. **功能凍結**:`main` 分支僅接受 `hotfix/*` 或從 `dev` 合併過來的穩定版本。**嚴禁將未經驗證的新功能 `feature/*` 直接合併至 `main`**。 3. **強制審閱**:所有進入 `main` 的合併請求必須經過至少一人審閱 (Code Review) 且通過自動化測試 (CI)。 ## 3. 開發流程 (Workflow) ### 開發新功能 1. 從 `dev` 建立 `feature/your-feature-name`。 2. 完成開發後,發起 PR 合併至 `dev`。 3. 在 `dev` 環境進行測試。 ### 修復 Main 的 Bug (Hotfix) 1. 從 `main` 建立 `hotfix/bug-description`。 2. 修復完畢後,發起 PR 合併至 `main`。 3. **重要**:合併至 `main` 後,必須同時將該修復合併回 `dev`,以防 Bug 在下次發布時再次出現。 ## 4. 提交訊息規範 (Commit Messages) 請遵循以下前綴標籤: - `[FIX]`:修復 Bug。 - `[FEAT]`:新增功能。 - `[DOCS]`:文件更新。 - `[STYLE]`:調整格式(不影響邏輯)。 - `[REFACTOR]`:重構。 --- > [!IMPORTANT] > 身為 AI 助手 (Antigravity),我在接到任務時會優先判斷任務性質。 > 若為「新功能」且使用者要求直接在 `main` 執行,我會主動提醒並建議切換至 `feature/*` 分支。