线上release2.0,基于线上release2.0拉出2个分支。4-1分支一个A需求,4-10一个B需求。
4月5号线上有bug ,基于release2.0分支拉出hot-fix分支,改完提测,合并到release2.0,合并没有冲突
4月15日,A需求开发完毕,进行测试改bug,测试完,4-1分支代码合并到release2.0,合并肯定有冲突(线上bug更改的部分,取hot-fix的代码)
4月25日,B需求开发完毕,进行测试改bug,测试完,4-10分支合并到release2.0,合并分支肯定有冲突(线上bug更改部分,取hot-fix的代码,A需求部分取A需求代码)
=======人少需求少,还勉强可以,人越多,发版次数越多,需求间隔时间越长,功能并行开发的越多,解决冲突就是头疼的事情=======
========问题的根本在于,分支不是取的最新的release2.0分支上的代码
========解决:如果有修改代码合并到release2.0后,再次将release2.0的代码反向合并其他正在开发的分支呢???
反合代码,就相当于先解决了冲突,保证了当前开发分支都是最新代码。最终开发完合并到release2.0就不用再解决冲突了。
分支的开发人员可能是ABCDE,但是合并到release2.0分支的可能是H,H在反合的时候要知道要哪些代码。这个的工作量一点没变。并且让开发分支的代码相互混淆了
例如: 如果4-1分支在4月15日上线了,反合并到4-10分支。但是需求在4月25日的时候,发现4-1分支的需求不合理,不要4-1分支代码了,线上分支需回滚代码,4-10的需求保留。这时候4-10分支已经被混淆了。
如何 有效的解决 多个分支 同时 拉出分支,共同开发,分别上线,并且减少解决冲突的办法???
网友评论