参考:git 的变基(rebase)和合并(merge)具体有什么分别阿? - 知乎
1、Git工作流
在使用Git Flow工作模式时,业界普遍遵循的规则:
- 所有开发分支从develop分支拉取。
- 所有hotfix分支从master分支拉取。
- 所有在master分支上的提交都必须要有标签,方便回滚。
- 只要有合并到master分支的操作,都需要和develop分支合并,保证同步。
- master分支和develop分支是主要分支,都是唯一的,其它派生分支每个类型可以同时存在多个。
参考:云小课|3种常用Git工作流推荐 - 知乎
2、实施
2.1、工作流
git-flow工作流程:
1. 初始化 master 分支,设置版本号 1.0.0,打标签 v1.0.0@soonfy_1.02. 从 master 分支克隆 develop 开发基础分支3. 从 develop 分支克隆 feature 开发新功能分支4. 在 开发人员 分支开发测试完成后,合并到 develop 分支5. 在 develop 分支测试完成后,合并到 release 分支6. 在 release 分支测试并修改文档后,合并到 master 分支,设置版本号 1.1.0,打标签 v1.1.0@soonfy_2.0
7. 如果线上出现紧急问题需要修复,从 master 克隆 hotfix 修复问题分支
8. 在 hotfix 分支开发测试完成后,合并到 master 分支,设置版本号 1.1.1,打标签 v1.1.1@soonfy_2.1
branch-tips:
1. master 分支从 release 或者 hotfix 分支合并,不能直接修改,每次合并都要设置版本号并且打标签
2. develop 分支从 master 分支克隆,或者合并 feature 分支
3. 开发人员分支从 develop 分支克隆
4. release 分支合并 develop 分支
5. hotfix 分支从 master 分支克隆,再合并回 master 分支
2.2、远程分支结构
实际远程分支也可只包含 Develop 和master 主分支。系统管理员管理Develop及上游分支。
2.3开发人员分支新建
克隆代码之后 新建本地分支Dev 该分支主要用在开发人员本地开发使用,无需推送至远程。
右键dev本地开发分支,选择 将Current Branch 的基准重定位到
等待变基完成后 推送到远程Develop分支