git分支管理与基本流程

合理的git流程管理才能更高效的帮助我们管理代码,管理git仓库的方式分很多种,但是在管理之中或多或少会遇到各种因为代码提交产生的问题,比如在一个多人开发团队中,代码仓库如果没有一个合理且有效的管理方式,就会导致很多时候的代码合并产生各种冲突,甚至一些未知bug,这样会给发布带来很多的麻烦,浪费很多不必要的时间。

1
master

主分支(备份),该分支即为线上版本,只在release发布完毕之后合并,一般不做改动。

1
develop

开发基本功能的分支(敏捷开发),该分支一般针对做简单并且不耗时的功能开发,用作敏捷开发,开发完毕即可测试,测试完成即发布staging环境。

1
hotfix

热修复分支(即时修复),当线上的版本出现问题需要进行修复时所用到的分支,该分支直接从release拉取,每次release发布之后更新或者删除该分支,修复完毕之后合并到develop分支并提供测试,测试完成之后合并该分支到release发布。

1
release

发布分支(版本发布),该分支主要做发布前代码合并的最终分支,供测试使用的版本分支,并在测试完成之后通过该分支进行版本发布,该分支只负责发布正式环境。

1
feature

功能分支(功能开发),在版本迭代功能时,需要计划开发周期并做开发计划时所用到的分支,该分支由develop拉取,由开发该功能的人单独管理,在开发完成后可单独提测也可合并提测,在版本发布完成后合并到develop及时更新或者删除。

1
tag

标签(版本记录),版本发布后合并主分支,并记录版本号,标签分支同时也可以进行版本回归和版本发布,具有更release一样的功能。

开发流程

1
develop —> feature —> develop —> release —> tag —> master

修复流程

1
release —> hotfix —> develop —> release —> tag —> master

注意:这里的hotfix分支是由release分支拉取,develop是在hotfix修复代码之后合并和测试,测试完毕之后直接将hotfix合并到release发布。