分支角色
主分支(master/main):
代表最新的正式发布版本,应始终保持稳定,可以直接用于生产环境。
只有在完成一个新版本的开发并经过测试后,才将发布分支合并到主分支。
开发分支(develop):
包含了所有要发布到下一个版本的功能。是日常开发的基础分支。
所有特性分支都应该合并到这里,然后经过测试,准备新版本的发布。
特性分支(feature):
从开发分支上创建,用于开发新的功能,每个新功能应该在一个独立的特性分支上进行。
开发完成后,合并回开发分支。
发布分支(release):
当开发分支上的功能积累到足够发布一个新版本时,从开发分支创建。
用于修复bug和做最后的准备工作,不会添加新功能。
完成后,合并到主分支和开发分支,并打上标签标记版本。
热修复分支(hotfix):
从主分支创建,用于紧急修复已发布版本中的严重问题。
修复完成后,需要同时合并回主分支和开发分支,并打上新的标签。
GitFlow流程
初始化:
创建主分支和开发分支。
开发新功能:
从开发分支创建一个新的特性分支。
在特性分支上进行开发工作。
完成开发后,将特性分支合并回开发分支。
准备发布:
当开发分支准备好发布时,从开发分支创建一个发布分支。
在发布分支上进行最后的测试、文档更新等,但不添加新功能。
确认无误后,合并发布分支到主分支和开发分支。
在主分支上为此次发布打上版本标签。
热修复:
如遇紧急问题,从最近的标签(即受影响的版本)创建热修复分支。
修复问题后,将热修复分支合并到主分支和开发分支,并打上新的修复版本标签。
持续迭代:
重复上述过程,不断地开发新功能、准备新版本发布、处理紧急修复。