如何进行分支管理
针对第一种Git Flow模型(上游分支向下游分支发展)这种,实际开发中,有以下几点疑问:
问题描述1:
开发者在master分支上开发,到某个版本开发完成的时候,merge到【pre-production】分支上,通知测试进行测试;然后开发人员接着在master分支上提交新的记录(着手下一版本开发),那针对测试反馈的bug,如何进行分支管理呢?
尝试过的解决方式:
个人理解:在master分支提测的那个commit节点,拉取一个新分支,譬如release分支,用于该版本的bug修复。在这过程中,不断的向pre-production分支merge我们修改的代码,Jenkins也跟着一起自动化部署。到测试通知正式上线的时候,将pre-production分支merge到production分支,于此同时,需要将release分支上修改的代码合并到master分支上,不知道这样理解对不对?
问题描述2:
假如线上出了紧急bug,又该如何进行分支管理?(按照该模型pre-production和production分支,只用来merge并自动化部署,所有的提交都在master分支上,那针对这个紧急bug,具体该如何操作呢)
正在回答 回答被采纳积分+1
针对第一种Git Flow模型(上游分支向下游分支发展)这种,实际开发中,有以下几点疑问:
问题描述1:
开发者在master分支上开发,到某个版本开发完成的时候,merge到【pre-production】分支上,通知测试进行测试;然后开发人员接着在master分支上提交新的记录(着手下一版本开发),那针对测试反馈的bug,如何进行分支管理呢?
——评估pre-production上的是否可发布,是否影响主体功能,如果不影响,会发个小版本。
反馈的bug,会继续迭代。
尝试过的解决方式:
个人理解:在master分支提测的那个commit节点,拉取一个新分支,譬如release分支,用于该版本的bug修复。在这过程中,不断的向pre-production分支merge我们修改的代码,Jenkins也跟着一起自动化部署。到测试通知正式上线的时候,将pre-production分支merge到production分支,于此同时,需要将release分支上修改的代码合并到master分支上,不知道这样理解对不对?
——如果是第一种模型,会直接在master分支上干活。
你上面描述的场景,比较适合已经进入维护期的项目,为了后续的维护准备,是为建立特定版本的分支的。比如,有些软件是买断制,用户的代码你不可能不更新了,对吧?一般会有一年的维护期,这个期间如果是旧的系统的bug,会修复,则会在这个新的分支上commit提交。
问题描述2:
假如线上出了紧急bug,又该如何进行分支管理?(按照该模型pre-production和production分支,只用来merge并自动化部署,所有的提交都在master分支上,那针对这个紧急bug,具体该如何操作呢)
——一般都会有pre-production,再紧急,就会把一个功能先关闭掉或者API服务给断掉,查清楚之后恢复。
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星