35 lines
2.1 KiB
Markdown
35 lines
2.1 KiB
Markdown
---
|
||
description: 將目前的變更提交並推送至指定的遠端分支 (遵守專案規範)
|
||
---
|
||
|
||
# 快速推送工作流 (now-push)
|
||
|
||
本工作流旨在規範化 Git 提交與推送流程,確保符合專案的開發規範 (繁體中文、規範前綴) 與發布紀律 (Release Window)。
|
||
|
||
## 執行步驟
|
||
|
||
1. **讀取規範 (Mandatory)**
|
||
在執行任何 Git 操作前,**必須** 先讀取 Git 分支管理與開發規範:
|
||
`view_file` -> [Git SKILL.md](file:///home/mama/projects/star-erp/.agents/skills/git-workflows/SKILL.md)
|
||
|
||
2. **檢查與準備**
|
||
- 執行 `git status` 檢查目前工作目錄。
|
||
- 根據 **SKILL.md** 的規範撰寫繁體中文提交訊息。
|
||
|
||
3. **目標分支安全檢查**
|
||
- 嚴格遵守 **SKILL.md** 中的「分支架構」、「發布時段」與「強制分支明確指定」規則。
|
||
- 若未指明目標分支,主動詢問使用者,不可私自預設為 `main`。
|
||
- **【最嚴格限制】**:`main` 分支的程式碼**只能**, **必須**從 `demo` 分支合併而來。絕對禁止將 `dev` (或 `feature/*`) 直接合併進 `main`。
|
||
|
||
4. **執行推送 (Push) 與嚴格合併鏈路**
|
||
- **若目標為 `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. **後續同步 (針對 Hotfix)**
|
||
- 依照 **SKILL.md** 的「緊急修復流程(Hotfix)」:若有從 main 開出來的 hotfix 分支直接併回 main 的例外情況(需使用者明確指示),**必須**同步將 main 分支 merge 回 `demo` 與 `dev` 分支,維持全環境版本一致。 |