1. 分支管理环境分类:
- 生产环境(主分支)
- 预生产环境(发布分支)
- 测试环境(开发分支)
2. 开发分支分类:
- feature(功能分支):
- 用于开发一个新功能
- 完成新功能开发后合并 develop 分支
- develop (开发分支 - 对应测试环境):
- 包含向 release 分支发布的代码
- 主要接收来自 feature 分支的合并
- release (发布分支 - 对应预生产环境):
- 基于 develop 分支
- 对 release 分支进行新功能(可能包含多个新功能,建议同时测试)的进一步测试。
- 对 release 分支测试到的 BUG 进行修改完成后,根据需求合并到 develop 分支和 master 分支
- master (主分支 - 对应生产环境):
- 包含最近发布的 release 分支代码
- 仅接受其他分支合并,不接受直接对此分支修改
- 每经历一个大的版本改动时,master 分支需要对相应的版本打上版本标签
- hotfix(补丁分支 - 修复生产环境产生 BUG 时使用):
- 基于 master 分支
- 产生 BUG 时基于 master 分支创建 hotfix 分支。完成 BUG 修复后需要将 hotfix 分支修改合并到 master 分支和 develop 分支
3. 开发分支工作流程图解:
4. 常用命令汇总:
- 初始化:根据提示键入分支名 默认键入提示分支
git flow init
- 开发新功能:根据实际功能自定义 NAME 名称(新开发的功能基于 develop 分支)
git flow feature start NAME
- 完成新功能:会自动合并到develop 并删除当前 feature 分支
git flow feature finish NAME
- 准备 release 版本:创建一个可发布的版本( 基于 develop 分支进行创建 )
git flow release start VERSON
- 推送 release 版本:允许其他用户向此分支提交 ( 若自己单独负责一个模块, 可省略此步骤 )
git flow release publish VERSON
- 完成 release 版本:
git flow release finish VERSON
完成 release 的过程:合并 release 分支到 master 分支,用 release 分支名打 Tag,合并 release 分支到 develop 分支,移除 release 分支
注:键入完成命令后需要操作插入备注以及退出操作( 流程如下: 按 ‘i’ 键插入备注 ,一般会以版本号做为备注 ;按 ’Esc’ 键保存并退出备注;按 ’:’ 退出;输入 ’wq’;按回车键;等待工具自动打 Tag
- 推送 Tag 到远端
git push origin VERSON
- 推送 develop 分支
git checkout develop
git push
- 推送 master 分支
git checkout master
git push
- 线上 bug 紧急修复
git flow hotfix start VERSON
- 完成 bug 紧急修复:流程参考序号 6 ,完成 release 版本过程
git flow hotfix finish VERSON
|