引言:有人说我在以前使用的svn,平时就不怎么建立分支,那现在请你记住,git相比svn的一大优势就在于分支管理(branch)和合并(merge),有人甚至成分支管理是git的必杀技,我觉得这一点不为过。
那我们什么为什么需要用到分支呢?很简单的一个场景:我们app开发经常是团队协作开发,分不同的组去开发,有的是阅读器模块开发,有的是书架功能组开发,这时候产品那边发现线上有个小瑕疵,需要优先处理并更新。这时候其他开发人员要么没完成现有功能,要么没有测试,我们这时候难道要回退版本嘛,那岂不是很麻烦,甚至丢失目前进度。这时候就体现了分支的重要性,实际上我们使用git也是这么默认约定的,主分支必须是纯净的,稳定的代码分支,以此为主干以便应对线上的版本一些突发状况。
根据git的分支管理策略,下面我们就简单介绍几个常见的分支:
1.主分支master :代码库应该有且只有一个主分支,主分支用来提供给用户使用的正式版本,用标签tag区分。
2.开发分支develop :用来进行开发的分支。
上述两个分支属于日常开发的常规分支,通常细化的化还有如下临时性分支:
3.功能分支feature :用于开发一些特定功能的分支,从develop分支分出,开发完成,需要合并回develop分支,然后删除feature。
4.预发布分支release :在我们正式发布之前,我们一般会有提供一个版本进行测试,预发布分支从develop分支分出,预发布结束后 必须合并到develop以及master分支。
5.修补bug分支hotfixes 或fixbug :用于修复bug,因为即使线上版本依然有存在bug的可能,需要紧急修复,这个分支从master分出, 修复后合并进master分支和develop分支。
具体如图:
讲了分支的策略,下一步咱们来重点讲解分支的使用,让git发挥更大的优势,来为团队服务。