前 29 天,我們學會了 Git 的各種指令、協作流程與進階技巧。
今天,我們要把這些技巧套入 Git Flow,建立一套適合團隊的標準開發流程,讓分支不再亂跑。
Git Flow 是 Vincent Driessen 提出的 分支管理模型,用於多人協作開發,核心理念:
想像成:main 是公司總經理,develop 是研發部,feature / release / hotfix 是不同小組,同時運作,專案才順利。
分支 | 角色 | 使用方式 |
---|---|---|
main | 穩定分支 | 永遠保持穩定,只接收 release 或 hotfix 合併 |
develop | 開發主線 | 所有功能分支最終合併到這裡 |
feature/ | 功能分支 | 從 develop 分出,完成後合併回 develop |
release/ | 準備釋出 | 從 develop 分出,修 bug / 調整設定,完成後合併回 main & develop |
hotfix/ | 緊急修復 | 從 main 分出,修復完成後合併回 main & develop |
git switch -c develop main
git push -u origin develop
-c
:create,建立一個新分支並切換到該分支develop
:你要建立的新分支名稱main
:作為新分支的基礎分支(從 main 分出 develop)git switch develop
git switch -c feature/login
# 開發完成後
git add .
git commit -m "新增登入功能"
git switch develop
git merge --no-ff feature/login
git push origin develop
💡 Tip:--no-ff
保留分支歷史,方便追蹤功能來源。
git switch develop
git switch -c release/1.0.0
# 修 bug 或調整版本號
git add .
git commit -m "Release 1.0.0"
git switch main
git merge --no-ff release/1.0.0
git tag -a v1.0.0 -m "版本 1.0.0"
git push origin main --tags
git switch develop
git merge --no-ff release/1.0.0
git switch main
git switch -c hotfix/typo
# 修緊急 bug
git add .
git commit -m "修正 typo"
git switch main
git merge --no-ff hotfix/typo
git tag -a v1.0.1 -m "Hotfix 1.0.1"
git push origin main --tags
git switch develop
git merge --no-ff hotfix/typo
問題 | 原因 | 解法 |
---|---|---|
merge 衝突 | 多人修改同檔案 | git merge 時手動解決衝突 |
分支亂 | 沒依 Git Flow 命名規則 | 建立統一命名規範 |
push 錯遠端 | 遠端不存在 | git push -u origin |
feature/dashboard
release/1.1.0
hotfix/urgent-fix
Git Flow 提供 標準化分支流程,讓多人協作更安全:
搭配 Branch & Remote 進階技巧、PR / MR 或 --no-ff merge
,即可實現安全、高效的團隊開發流程。
Git Flow + 遠端 + 多分支管理 = 專業團隊開發的基礎武器庫