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