咱们先不看上面的线,先理解一下这4个大色块的名词:
- Workspace:工作区,平时我们写代码的地方。
- Index:暂存区,写完代码后让它变成的待提交的状态。
- Repository:本地仓库,提交暂存区的代码到这里,记录进入代码本地管理。
- Remote:远程仓库,将本地仓库的修改的代码提交到远程,可以供远程协作的人下载。
Gitflow模型全貌
master分支
只存线上的代码,只有确定可以上线时的才合并到master上,并且在master的基础上打Tag。
develop分支
develop分支是在开发时的最终分支,具有所有当前版本需要上线的所有功能。
feature分支
- 用于开发功能的分支,必须从最新的develop分支代码拉取。分支命名基本上是feature/xxxxx(和功能相关的名字)。
-
release分支
当develop分支已经有了本次上线的所有代码的时候,并且以通过全部测试的时候,可以从develop分支创建release分支了,release分支是为发布新的产品版本而设计的。
- 通过在release分支上进行这些工作可以让develop分支空闲出来以接受新的feature分支上的代码提交,进入新的软件开发迭代周期。
在这个分支上的代码允许做小的缺陷修正、准备发布版本所需的各项说明信息(版本号、发布时间、编译时间等等)。
hotfix分支
当线上出现bug需要紧急修复时,从当前master分支派生hotfix分支。
- 修改线上bug,修改完成后合并回develop和master分钟。
参考