规范之一(国内用的多)

各分支介绍

  • master分支,即主分支。任何项目都必须有个这个分支。对项目进行tag或发布版本等操作,都必须在该分支上进行。
  • release分支
    • 泛指多个分支
      • 每个分支都是有很多feat分支都会合进来的一个杂糅分支
    • oa测试环境
    • pre预发布
      • 与pro环境一致
    • pro生产
  • feature分支,即功能分支,从master分支上检出。每一个大功能可以作为一个feature分支,开发完毕后可酌情删除
  • fix分支,即补丁分支,由master分支检出,用作bug修复,bug修复完成需merge回master分支,并将其删除。所以该分支属于临时性分支。

分支流向

开发:

  • master分支检出feature分支
    • 一个功能一个分支
  • feature分支开发过程中,可以合并到oa分支
    • 但未开完毕,有bug的时候,记得revert 合并commit
      • 避免影响他人测试
    • 开发完毕,合并到pre分支,或更进一步,合并到pro分支
    • 正式上线时,合并到master中
    • 当前版本迭代完成后删除该功能分支

修复bug

  • 与开发类似
  • 区别是:上线后及时删除分支

规范之一

  • master分支,即主分支。任何项目都必须有个这个分支。对项目进行tag或发布版本等操作,都必须在该分支上进行。
  • develop分支,即开发分支,从master分支上检出。团队成员一般不会直接更改该分支,而是分别从该分支检出自己的feature分支,开发完成后将feature分支上的改动merge回develop分支。
  • 同时release分支由develop分支检出。release分支,即发布分支,从develop分支上检出。该分支用作发版前的测试,可进行简单的bug修复。如果bug修复比较复杂,可merge回develop分支后由其他分支进行bug修复。此分支测试完成后,需要同时merge到master和develop分支上。
  • feature分支,即功能分支,从develop分支上检出。团队成员中每个人都维护一个自己的feature分支,并进行开发工作,开发完成后将此分支merge回develop分支。此分支一般用来开发新功能或进行项目维护等。
  • fix分支,即补丁分支,由develop分支检出,用作bug修复,bug修复完成需merge回develop分支,并将其删除。所以该分支属于临时性分支。hotfix分支,即热补丁分支。和fix分支的区别在于,该分支由master分支检出,进行线上版本的bug修复,修复完成后merge回master分支,并merge到develop分支上,merge完成后也可以将其删除,也属于临时性分支。