GIT协作流程
主要分支
中央仓库中有两个长期的分支:
master
develop
master
用作生产分支,里面的代码是稳定的发布版本代码。代码库应该有且仅有一个主分支。所有提供给用户使用的正式版本,都在这个主分支上发布。
develop
是可交付的开发代码,也可以看成是用于集成分支,每晚构建从develop
获取代码。
当develop
分支中的代码足够稳定的时候,就将改动合并到master
分支,同时打上一个标签,标签的名称为发布的版本号,并保留打包DSYM文件和ipa文件进行归档。
辅助分支
通过辅助分支来帮助并行开发,和主要分支不同,这些分支的生命周期是有限的:
特性分支
预发布分支
紧急修复分支
特性分支(feature)
特性分支可能从develop
分支分出,最终必须合并回develop
。
特性分支(也叫主题分支)用于开发新特性。每个新特性开一个新分支,最终会合并回develop
(当特性开发完毕的时候),或者放弃(如果最终决定不开发这个特性)。
特性分支只存在于开发者的仓库中。
预发布分支(release-)
预发布分支可能从develop
分出,最终必须合并回develop
和master
。
预发布分支以小写字母a~z
开头的有含义的英文方式命名,例如:apple、banana
或者预发布分支以release-*
的方式命名。
预发布分支为新的发布版本作准备,包括一些小bug的修正和发布的元信息(版本号、发布日期等)的添加。这样develop
分支就可以接受针对以后的发布的新特性。
在代码基本可以发布的时候从develop
分支分出预发布分支。这时要确保此次发布包括的特性都已经合并到develop
分支了(同时,为下一版发布准备的特性不能合并到develop
分支,必须等待预发布分支分出后才能合并)。
紧急修复分支(fixbug)
当发布分支中的代码可以发布的时候,将代码合并到master分支,并打上相应的标签。同时还需要合并到dev分支,因为发布分支里可能包含一些修正bug的代码,合并回去可以确保以后的版本也包含这些修正。