git开发流程

开发流程

  • master分支即主分支上只存放稳定的代码,永远不会直接在mastr上开发
  • dev分支即develop开发分支,始终保持最新完成以及bug修复后的代码,一般开发的新功能时,feature分支都是基于develop分支下创建的
  • feature分支,开发新功能时,以develop为基础创建feature分支,命名规则: feature/user_module,后面是具体功能名
  • bug分支,开发阶段修复BUG,以develop为基础创建bug分支,命名规则:bug/xxx,后面是具体bug名,也可用issue标号
  • test分支,测试分支,在该分支上完成相应新功能的测试和潜在问题的修复
  • hotfix分支,线上出现紧急问题时,从master分支创建hotfix分支开始修复Bug,命名规则hotfix/bugbug,后面是具体bug名,也可用issue标号

当开发新功能时,基于dev分支创建相应的feature分支,在feature分支上开发完毕后,合并进入dev分支
当在开发阶段修复bug时,基于dev分支创建bug分支,在Bug分支修复完毕后,并入dev分支
当一组feature完成后需要进行测试,创建test分支,在该分支上完成测试,若有错误及时修复,然后再并入dev和master,完成上线
当上线后出现紧急bug,在hotfix分支上完成修复,再并入dev和master

commit规范

<type>(scope): <subject>
<body>

例子:

feat(UserModel): add login and register
增加了邮箱的登录与注册功能,未完成手机号的登陆注册

  • type: 本次 commit 的类型,诸如 bugfix docs style 等
  • scope: 本次 commit 波及的范围,文件名或文件夹名(若无范围则不写)
  • subject: 简明扼要的阐述下本次commit的主旨,使用祈使句,结尾无需添加标点
  • body:一些详细的描述(若有需要的话),包括实现的功能、解决的问题等

type包括

  1. feat: 添加新特性
  2. fix: 修复bug
  3. docs: 仅仅修改了文档
  4. style: 仅仅修改了空格、格式缩进、逗号等,不改变代码逻辑
  5. refactor: 代码重构,没有加新功能或者修复bug
  6. perf: 增加代码进行性能测试
  7. test: 增加测试用例
  8. chore: 改变构建流程、或者增加依赖库、工具等
Edited by Oscar_Wen