git分支开发管理

一、分支命名约定(推荐)

  1. 主分支(线上正式环境) 名称:main(新标准)/ master(旧项目)

    • 作用:永远只存稳定上线代码,禁止直接提交、禁止强行推送
    • 来源:仅从部署分支合并过来
  2. 开发分支(日常开发) 名称:dev

    • 作用:所有功能、bug 修复都在这里开发、联调、测试
    • 日常所有人在此分支协作
  3. 临时部署分支(预发 / 测试 / 上线过渡) 名称: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

三、关键约束(避坑)

  1. 严禁直接在 main /release 手写代码、直接提交 所有改动必须从 dev 流入。
  2. 线上紧急 bug:
    • 先在 dev 修复 → 合并到 release 验证 → 再合并到 main
  3. 冲突处理:优先在 dev 分支解决,不要放到上线环节解决冲突。

四、极简版流程图

dev(开发) → release(测试/部署) → main(正式线上) 上线后反向同步:main → dev


五、常用快捷命令汇总

复制代码
# 查看所有分支
git branch

# 新建并切换分支(初次建分支用)
git checkout -b dev
git checkout -b release

如果需要配合 feature 功能分支、hotfix 热修复扩展流程,我可以再给你一套升级版四 / 五分支规范。

相关推荐
Lydro1 小时前
CentOS 7 安装高版本git
git·centos 7
guwentian10 小时前
Git Worktree 实战:用并行多 Agent 把开发提速 N 倍
大数据·git·elasticsearch·wroktree
不吃鱼的羊13 小时前
Git识别未修改的文件有修改
git
蓝黑墨水15 小时前
一个git问题的处理
git
互联网中的一颗神经元18 小时前
21 — 额外命令:同时开两个窗口、自动检查哨
git
_道隐_21 小时前
git stash save 和 git stash push有什么区别?
git
_道隐_1 天前
git stash如何pop指定的stash change?
git
PC2005-cloud1 天前
Git学习笔记:GitHub Git Data API 完全指南,用 Go 操控 Git 底层对象
笔记·git·学习
Python私教2 天前
AI 并行编码的 Worktree 生命周期:创建、隔离与安全回收
人工智能·git
互联网中的一颗神经元2 天前
16 — 改写历史 rebase:搬家到新楼层,不是合并
git