新需求开发完了满心欢喜的准备合并分支、打包提测呢,结果把分支搞坏了。
合并分支后Xcode提示NO Scheme,无论如何操作原来的scheme就是不出来了,真是急死人;
我们目前项目代码分支如下:
分支1 、分支2
都是独立的需求模块,已各自开发完毕;
stable
分支就是我们的本地主分支和生产保持同步(其实它比远程分支快几个版本);
期望合并后如下:
按指定顺序合并,这样每个功能模块都是在一起的,看起来一目了然;合并之前我就知道冲突肯定是有的,每个分支都改动了好多;但是作为一枚老白菜,我不怕;
于是我开始动手合并了
我有个习惯,对于很多次commit的各分支合并,我习惯性再切个分支,这样即使出现意外,删了就是了继续重搞。
- 先合并分支1、分支2,然后再去和stable合并;
切到分支2
>>> git rebase 分支1
出现合并冲突,根据提示各个击破,修改完成后继续执行;
>>> git add .
>>> git rebase --continue
此时分支1,2合并完成变为:master -> C11 ->C12 ->C13 ->C21 ->C22 ->C23
= 新分支1
,此时可正常build、run;
然后再去git rebase
合并到stable;
由于stable在master之后做了其他版本的提交,所以此时又冲突了,把原有工程文件搞坏了,也就是一直提示no scheme
;
这可把我卡住了,搜了网上很多方法,诸如删除工程下userdata目录数据、重启xcode、手动新建scheme、试了都不行;
改变策略,在搞一次
这一次改变合并顺序:分支1先和stable合并,然后新分支在去和分支2;
>>> git checkout 分支1
>>> git rebase stable
此时分支1,stable合并完成变为:master -> C31 ->C32 ->C33 ->C11 ->C12 ->C13
然后新分支再合并分支2;这一步操作清楚的再现了,搞坏的配置文件,里面的格式全乱了;不同分组出现了嵌套了,被重写了;研究了半天,硬是改好了;
最后分支合并完毕,变成了该有的样子: