
image.png
上图展示了各分支的作用,以及发布流程。分支大致可分为两类,主分支和辅助分支。
主分支
master
master分支主要用来版本发布,HEAD就是当前线上的运行代码。
develop
develop分支用来日常的开发功能,开发完成并且测试通过则将develop分支的代码合并到master分支并发布
辅助分支
feature
feature 分支用来开发具体的功能,一般 fork 自 develop 分支,最终可能会合并到 develop 分支。比如在下个版本中要增加功能A,功能B,功能C。则可以起三个 feature 分支例:featureA ,featureB ,featureC 。随着开发推进,功能A和功能B完成开发,而功能C因某些原因完成不了。那么最终 featureA 和 featureB 分支将被合并到 develop 分支,而 featureC 分支要不被干掉或推迟到下个版本发布。
release
release 分支在我看来是 pre-master。release 分支从 develop 分支 fork 出来, 最终会合并到 develop 分支和 master 分支。合并到 master 分支上就是可以发布的代码了。期间测试如有 bug 则直接在 release 分支上修复。
hotfix
hotfix 分支用来修复线上 bug。当线上代码出现 bug时,我们基于 master 分支开一个 hotfix 分支,修复 bug 后再将hotfix 分支合并到 master 分支进行发布,同时也会合并到 develop 分支上