一、分支命名约定(推荐)
-
主分支(线上正式环境) 名称:
main(新标准)/master(旧项目)- 作用:永远只存稳定上线代码,禁止直接提交、禁止强行推送
- 来源:仅从部署分支合并过来
-
开发分支(日常开发) 名称:
dev- 作用:所有功能、bug 修复都在这里开发、联调、测试
- 日常所有人在此分支协作
-
临时部署分支(预发 / 测试 / 上线过渡) 名称:
release(通用)/test/pre- 作用:开发完成后合并到此分支做部署、验证、回归测试
- 验证没问题,再合并到主分支上线
二、标准工作流(核心流程)
1. 日常开发(在 dev 分支)
# 切换到开发分支
git checkout dev
# 拉取最新代码
git pull
# 编写代码 → 提交
git add .
git commit -m "功能/修复描述"
git push
2. 开发完成 → 合并到 临时部署分支 release
# 先切到部署分支
git checkout release
# 拉取远端最新
git pull
# 把 dev 代码合并过来
git merge dev
# 推送,用于部署测试
git push
此时运维 / 前端可基于
release分支打包、部署到测试 / 预发环境。
3. 测试通过 → 合并到主分支 main(正式上线)
# 切到主分支
git checkout main
git pull
# 合并已验证的部署分支
git merge release
# 推送到线上仓库,正式上线
git push
4. 上线完毕,同步回开发分支(保持三分支一致)
git checkout dev
git pull
git merge main
git push
三、关键约束(避坑)
- 严禁直接在 main /release 手写代码、直接提交 所有改动必须从
dev流入。 - 线上紧急 bug:
- 先在
dev修复 → 合并到release验证 → 再合并到main
- 先在
- 冲突处理:优先在
dev分支解决,不要放到上线环节解决冲突。
四、极简版流程图
dev(开发) → release(测试/部署) → main(正式线上) 上线后反向同步:main → dev
五、常用快捷命令汇总
# 查看所有分支
git branch
# 新建并切换分支(初次建分支用)
git checkout -b dev
git checkout -b release
如果需要配合 feature 功能分支、hotfix 热修复扩展流程,我可以再给你一套升级版四 / 五分支规范。