分支管理
master 分支
- 主分支,最稳定功能最全随时可以发布的分支
- 以tag标记版本,对应的是线上版本,每一个tag对应一个线上版本
- master主分支由dev以及fix分支合并,不允许直接在master分支上提交代码
dev 分支
- 开发(Develop)分支,始终保持最新完成以及bug修复后的代码,永远是功能最新最全的
- 一般开发新功能时,feat的分支都是基于dev分支创建的
feat 分支
- 开发新功能(Feature)时,以dev为基础创建的分支
- 分支命名: feat-开头的为特性的分支,eg:feat-user,feat-cart
rls 分支
- 预上线(Release)分支,发布提测阶段,以rls分支代码为基准提测
- 分支命名:rls-开头的后跟版本号,eg:rls-1.0,rls-1.04
当有一个feat分支开发完成,首先会合并到dev分支,进入提测时,会创建rls分支,如果测试过程中若存在bug需要修复,则由开发者在rls分支修复提交。当测试完成之后,合并rls分支到master和dev分支,此时master为最新代码,用作上线。稳定长期存在的分支只有master和dev分支,别的分支在完成使命之后会合并到这两个分支然后被删除。
fix 分支
- 修复(hotfix)分支,命名以fix-开头,命名规则与feat分支类似
- 线上出现紧急问题,需要及时修复,以master分支为基线,创建fix分支,修复完成后,合并到master和dev分支
文章图片
可以打开github看下开源项目的提交记录,大致格式:
():
type
- feat:新功能
- fix:修补bug
- docs:文档
- style:格式,不影响代码运行的变动
- reft:重构,既不是新增功能,也不是修改bug的代码变动
- test:添加测试
- chore:构建过程或辅助工具的变动
- 用来说明本次commit影响的范围,简要说明会涉及的部分
- 简要叙述本次改动,概述
- 团队开发时,不要使用自己单独的git分支开发,然后提交合并,正确的做法是团队基于一个公共的远程分支进行开发写作
- 禁止使用-force强制推送到远程仓库
推荐阅读
- 数组的排序算法
- 学习|Python学习心得,小白初学工具推荐
- jQuery---用jq实现控件的显示和隐藏
- 使一个布局中的所有事件失效
- 学习|python3打印菱形(测试过)
- 学习|自定义圆形progressbar(包含进度动画效果)
- Android|Android 实现 圆形进度对话框 和 水平进度对话框 —— ProgressDialog
- 并发|11.防刷限流
- android|动态设置Progress值和颜色