目標:提升效率、透明度與標準化
日期:2025年9月
核心目標
核心概念:分支管理策略
我們的程式碼庫圍繞兩個核心分支運作:
main (生產環境分支)
release 或 hotfix 分支的合併請求
(Merge Request) 匯入。
release (預發布/整合分支)
功能開發與修復在這些短期分支上進行:
feature/<ticket>-<desc> (功能開發分支)
release 分支建立。
release 分支。
feature/PROJ-123-add-user-login。
hotfix/<ticket>-<desc> (緊急修復分支)
main 分支建立。main 和
release 分支。
將在新視窗中開啟外部連結。
feature/PROJ-123) 皆由
release 分支出發。
release,並依序部署至 DEV, QA, UAT
環境。
release 分支驗證完畢後,再合併至
main 分支進行生產部署。
hotfix/PROD-126) 直接從
main 分支出發,修復後合併回 main 與
release。
自動化核心:環境部署流程
DEV (開發環境):
自動。feature
分支合併到 release 時觸發。
QA (測試環境):
手動。由 QA
主管在 release 分支上建立
qa-v1.1.0-01 格式的 Tag 觸發。
UAT (驗收環境):
手動。由 QA
主管在 release 分支上建立
uat-v1.1.1 格式的 Tag 觸發。
Production (生產環境):
自動。release
分支合併到 main 時觸發。PM 負責最終審批。
實戰演練:標準化開發工作流程
To Do ➔ Delivered ➔ Developing ➔ Developed ➔ QA-Testing ➔ PM-Testing ➔ Done
此流程的目標是讓 Jira 狀態自動反映程式碼的真實進度。
release 分支建立新的 feature 分支。
feature/<jira-issue-id>-<description>
格式。
git commit 的訊息中,必須包含
Jira 單號。
git pull --rebase origin release
將最新變更同步到自己的分支。
feature 分支合併回
release 分支的合併請求 (MR)。MR
標題必須包含 Jira 單號。
release 分支上建立並推送 qa-* 的
Tag。
release 分支上建立並推送 uat-* 的
Tag。
release 到
main 的 MR,由 PM 進行最終審批。
特殊情況處理
main 建立
hotfix/<ticket>-<desc> 分支。
hotfix 分支合併回
main,自動觸發部署。
hotfix 分支也合併回
release 分支。
release 對應的 UAT commit 拉出 Hotfix 分支。
release 分支。
問題:當你的
feature 分支開發時間較長,release
分支可能已經更新了很多次,導致你的分支與主幹差異越來越大。
release
git pull --rebase origin release。
rebase 的優點:保持乾淨線性的提交歷史、更容易解決衝突。
feature 分支開發者。
現場操作示範
讓 AI 協助您產生符合規範的指令與訊息。
feature/PROJ-XXX-... 分支 (觀察 Jira
自動變更為 "Developing")。
release (觀察 Jira 自動變更為
"Developed")。
qa- Tag (觀察 Jira 自動變更為
"QA-Testing")。
uat- Tag (觀察 Jira 自動變更為
"PM-Testing")。
release 到 main (觀察 Jira
自動變更為 "Done")。
Q&A
有任何問題嗎?
訊息內容