[DOCS] 重構 Git 發布規範:將安全性檢查規則收攏至 SKILL.md 並與 now-push 工作流解耦
All checks were successful
ERP-Deploy-Demo / deploy-demo (push) Successful in 1m0s
All checks were successful
ERP-Deploy-Demo / deploy-demo (push) Successful in 1m0s
This commit is contained in:
@@ -18,11 +18,12 @@ description: 規範開發過程中的 Git 分支架構、合併限制、環境
|
|||||||
## 2. 發布時段與約束 (Release Window)
|
## 2. 發布時段與約束 (Release Window)
|
||||||
|
|
||||||
### Main 分支發布限制 (Mandatory)
|
### Main 分支發布限制 (Mandatory)
|
||||||
1. **標準發布時間**:週一至週四,**12:00 (中午) 之前**。
|
1. **強制規範**:若執行推送/合併指令時未明確包含目標分支,**嚴禁** 自行預設或推論為 `main`。我必須先詢問使用者:「請問要推送到哪一個目標分支?(dev / demo / main)」。
|
||||||
2. **非標準時段提醒**:若於上述時段以外(週五、週末、國定假日或下班時間)欲合併至 `main`:
|
2. **標準發布時間**:週一至週四,**12:00 (中午) 之前**。
|
||||||
|
3. **非標準時段提醒**:若於上述時段以外(週五、週末、國定假日或下班時間)欲合併至 `main`:
|
||||||
- AI 助手**必須攔截並主動提示風險**(例如:週末災難風險)。
|
- AI 助手**必須攔截並主動提示風險**(例如:週末災難風險)。
|
||||||
- 必須取得使用者明確書面同意(如:「我確定現在要上線」)方可執行。
|
- 必須取得使用者明確書面同意(如:「我確定現在要上線」)方可執行。
|
||||||
3. **合併鏈路**:一般功能/修正必須先上 `demo` 測試。`main` 的程式原則上應從 `demo` 分支合併而來。
|
4. **合併鏈路**:一般功能/修正必須先上 `demo` 測試。`main` 的程式原則上應從 `demo` 分支合併而來。
|
||||||
|
|
||||||
## 3. 開發與修復流程 (SOP)
|
## 3. 開發與修復流程 (SOP)
|
||||||
|
|
||||||
|
|||||||
@@ -8,28 +8,20 @@ description: 將目前的變更提交並推送至指定的遠端分支 (遵守
|
|||||||
|
|
||||||
## 執行步驟
|
## 執行步驟
|
||||||
|
|
||||||
1. **檢查變更內容**
|
1. **讀取規範 (Mandatory)**
|
||||||
執行 `git status` 與 `git diff` 檢查目前的工作目錄,確保提交內容正確。
|
在執行任何 Git 操作前,**必須** 先讀取 Git 分支管理與開發規範:
|
||||||
|
`view_file` -> [Git SKILL.md](file:///home/mama/projects/star-erp/.agents/skills/git-workflows/SKILL.md)
|
||||||
|
|
||||||
2. **撰寫規格化提交訊息 (Commit Message)**
|
2. **檢查與準備**
|
||||||
- 訊息一律使用 **繁體中文 (台灣用語)**。
|
- 執行 `git status` 檢查目前工作目錄。
|
||||||
- 必須使用以下前綴之一:
|
- 根據 **SKILL.md** 的規範撰寫繁體中文提交訊息。
|
||||||
- `[FIX]`:修復 Bug。
|
|
||||||
- `[FEAT]`:新增功能。
|
|
||||||
- `[DOCS]`:文件更新。
|
|
||||||
- `[STYLE]`:UI/樣式/格式調整。
|
|
||||||
- `[REFACTOR]`:程式碼重構。
|
|
||||||
- 描述應具體且真實反映修改內容。
|
|
||||||
|
|
||||||
3. **目標分支安全檢查 (Release Window & Source Check)**
|
3. **目標分支安全檢查**
|
||||||
- 若使用者指定的目標分支包含 **`main`**:
|
- 嚴格遵守 **SKILL.md** 中的「分支架構」、「發布時段」與「強制分支明確指定」規則。
|
||||||
- **來源檢查**:根據規範,上線 `main` 前必須先確保程式碼已在 `demo` 分支驗證完畢。我會優先檢查 `demo` 與 `main` 的差異,並提醒使用者應從 `demo` 合併。
|
- 若未指明目標分支,主動詢問使用者,不可私自預設為 `main`。
|
||||||
- **檢查目前時間**:標準發布時段為 **週一至週四 12:00 (中午) 之前**。
|
|
||||||
- 若在非標準時段(週五、週末、下班時間),**必須** 先攔截並主動提醒風險,取得使用者明確書面同意(例如:「我確定現在要上線」)後方才執行推送。
|
|
||||||
|
|
||||||
4. **執行推送 (Push)**
|
4. **執行推送 (Push)**
|
||||||
- 依據指令帶入的分支名稱執行推送。
|
- 通過安全檢查後,執行:`git push origin [目前分支]:[目標分支]`。
|
||||||
- 範例:`git push origin [目前分支]:[目標分支]`。
|
|
||||||
|
|
||||||
5. **同步關聯分支**
|
5. **後續同步**
|
||||||
- 若為 `main` 的 Hotfix,修復後應評估是否同步回 `demo` 或 `dev` 分支。
|
- 依照 **SKILL.md** 的「緊急修復流程(Hotfix)」評估是否需要同步回 `demo` 或 `dev` 分支。
|
||||||
Reference in New Issue
Block a user