Git branch
长期分支
- master (主分支)
- 版本库初始化以后自动建立的
- 代码库中有且仅有一个主分支,不可删除
- 不要直接修改master分支代码
- master分支对外发布,每一次推送应该打标签(tag)做记录,方便追溯
- develop (开发分支)
- 基于master分支创建
- 代码库中有且仅有一个开发分支,不可删除
- 不要直接修改master分支代码
短期分支(协助分支)
- feature (功能分支)
- 新功能或新特性开发分支
- 基于develop分支创建
- 新特性或新功能开发完成,合到develop分支
- 临时分支,功能完成后可删除
- release (预发布分支)
- 基于develop分支创建(feature分支合并到develop分支之后)
- 临时分支,产品上线后可选删除
- 发布到内部测试区,供测试人员测试
- hotfix (补丁分支)
- 基于master创建
- 对线上的版本打补丁或bug修复
- 修复完成后,合并到master分支和develop分支
- 临时分支,修复上线后可删除
Gitflow工作流
GitPrime CEO:Vincent Driessen(文森特 · 德里森)2010年
博文《成功的 Git 分支模型》:https://nvie.com/posts/a-successful-git-branching-model/
-
创建项目初始化仓库
- 初始化仓库,自动创建master
- 基于mater创建develop分支
-
开发创建功能分支
- 基于develope创建feature分支
- 功能分支完成,merge到develop分支
-
预发布
- 基于develop创建release分支
- 完成release后merge到master分支,同时merge到develop分支
-
hotfix修复(线上版本出现问题)
- 基于master创建hotfix分支
- 修复完成后,merge到master分支,同时合并到develop分支