赞
踩
具体到一个工程中,各个阶段的具体流程为:项目启动->准备开发环境->测试流程->发布流程->hotfix流程
有以下分支:
一、master分支
master分支用于保存官方发布历史,与线上的版本一致。要确保任何时候从master分支都可以拿到处于可发布状态的代码。
一个工程只有一个master分支,创建Git工程后自动创建,生命周期为永久。
跟master分支打交道的分支有release分支、hotfix分支:
测试通过后,“配置管理员”(以下简称为“配管”)将release分支合并到master分支。
线上紧急修复后,“配管”将hotfix分支合并回master分支。
release分支合并到master分支后,需要在master分支上打Tag(记录里程碑),标记官方发布的版本号。
二、develop分支
develop是开发集成的分支,所有开发完成的代码提交到此分支。功能累积到一定程度或者周期性发布需要提测时,从此分支迁出代码到release分支,进行测试。要确保任何时候都可以从develop分支拿到最新开发进展的代码。
一个工程只有一个develop分支,最初由“配管”创建,生命周期为永久。
跟develop分支打交道的分支有release分支、hotfix分支、feature分支:
“开发主管”提测时,“配管”从develop分支迁出代码到release分支。
release分支测试通过后,“配管”将release分支合并回develop分支。
线上紧急修复后,“配管”将hotfix分支合并到develop分支。
功能开发完成后,“开发主管”(需要多人协作开发的feature)或各个开发(独立开发的feature)将feature分支合并到develop分支。
三、release分支
release是测试分支,用于测试某个待发布的版本。从develop分支迁出代码到release分支,冻结代码(除了修改bug),进行测试。测试通过后合并到master分支,正式发布。
release分支使得待发布版本的测试与新版本的开发活动可以并行,互不干扰。
一个工程有多个release分支,一个待测试的、准备发布的版本一个分支。release分支的生命周期不是永久的,最初起源于develop分支,最终归于master和develop分支。提测时,“配管”创建一个release分支;测试通过、合并到master分支及develop分支后,“配管”删除该分支。
跟release分支打交道的分支有develop分支、master分支:
“开发主管”提测时,“配管”从develop分支迁出代码、创建一个release分支。
release分支测试通过后,“配管”将release分支合并到master分支,同时合并回develop分支。
release分支的命名规则
四、feature分支
feature分支是各个功能的开发分支,开发完成后合并到develop分支。
feature分支使得多个人可以并行开发,互不干扰。
一个工程有多个feature分支,一个feature一个分支。feature分支的生命周期不是永久的,最初起源于develop分支,最终也归于develop分支。开始开发一个新功能时,由“开发主管”或开发自己创建一个feature分支;功能开发完成、合并到develop分支后,“开发主管”或开发自己删除该分支。
跟feature分支打交道的分支只有develop分支:
对于需要多人协作开发的feature:“开发主管”从develop分支迁出代码、创建一个feature分支,然后通知给需要协作的各个开发;各个开发在此分支上提交代码。各个开发的代码都提交后,“开发主管”将该feature分支合并到develop分支,然后删除该分支。
对于不需协作、开发可独立完成的feature:可以由开发自己从develop分支迁出代码、创建一个feature分支;开发完成后,开发自己将该feature分支合并到develop分支,然后删除该分支。
feature分支的命名规则
五、hotfix分支
hotfix分支用于紧急修复线上的bug。
hotfix分支使得线上bug的紧急修复,与待发布版本的测试、以及新版本的开发活动可以并行,互不干扰。
一个工程有多个hotfix分支,一次hotfix创建一个分支。hotfix分支的生命周期不是永久的,最初起源于master分支,最终归于master和develop分支。提出hotfix时,“配管”创建一个hotfix分支;bug修改完成、合并回master分支以及develop分支后,“配管”删除该分支。
跟hotfix分支打交道的分支有master分支、develop分支:
需要紧急修复线上bug时,“配管”从master分支的某个Tag(一般是最新的)迁出代码、创建一个hotfix分支。
bug修改完成、测试通过后,“配管”将该hotfix分支合并回master分支,同时合并到develop分支。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。