[FIX] 嚴格限制 now-push 工作流的 main 合併鏈路
All checks were successful
ERP-Deploy-Demo / deploy-demo (push) Successful in 1m6s
All checks were successful
ERP-Deploy-Demo / deploy-demo (push) Successful in 1m6s
- 修改 now-push.md 確保 main 只能從 demo 合併 - 明列 dev -> demo -> main 的強制合併順序
This commit is contained in:
@@ -19,9 +19,17 @@ description: 將目前的變更提交並推送至指定的遠端分支 (遵守
|
|||||||
3. **目標分支安全檢查**
|
3. **目標分支安全檢查**
|
||||||
- 嚴格遵守 **SKILL.md** 中的「分支架構」、「發布時段」與「強制分支明確指定」規則。
|
- 嚴格遵守 **SKILL.md** 中的「分支架構」、「發布時段」與「強制分支明確指定」規則。
|
||||||
- 若未指明目標分支,主動詢問使用者,不可私自預設為 `main`。
|
- 若未指明目標分支,主動詢問使用者,不可私自預設為 `main`。
|
||||||
|
- **【最嚴格限制】**:`main` 分支的程式碼**只能**, **必須**從 `demo` 分支合併而來。絕對禁止將 `dev` (或 `feature/*`) 直接合併進 `main`。
|
||||||
|
|
||||||
4. **執行推送 (Push)**
|
4. **執行推送 (Push) 與嚴格合併鏈路**
|
||||||
- 通過安全檢查後,執行:`git push origin [目前分支]:[目標分支]`。
|
- **若目標為 `dev`**:直接 `git push origin [目前分支]:dev` 或 commit 後 merge 到 dev。
|
||||||
|
- **若目標為 `demo`**:必須先確保變更已在 `dev` 且無衝突,然後 `git checkout demo && git merge dev && git push origin demo`。
|
||||||
|
- **若目標為 `main`**:
|
||||||
|
必須確保變更已經依照順序通過前置環境,嚴格執行以下流程(缺一不可):
|
||||||
|
1. `git checkout dev && git merge [目前分支] && git push origin dev`
|
||||||
|
2. `git checkout demo && git merge dev && git push origin demo`
|
||||||
|
3. `git checkout main && git merge demo && git push origin main`
|
||||||
|
*(就算遭遇衝突,也必須在對應的分支上解衝突,絕對不可略過 `demo` 直接 `dev -> main`)*
|
||||||
|
|
||||||
5. **後續同步**
|
5. **後續同步 (針對 Hotfix)**
|
||||||
- 依照 **SKILL.md** 的「緊急修復流程(Hotfix)」評估是否需要同步回 `demo` 或 `dev` 分支。
|
- 依照 **SKILL.md** 的「緊急修復流程(Hotfix)」:若有從 main 開出來的 hotfix 分支直接併回 main 的例外情況(需使用者明確指示),**必須**同步將 main 分支 merge 回 `demo` 與 `dev` 分支,維持全環境版本一致。
|
||||||
Reference in New Issue
Block a user