新需求開發(fā)完了滿心歡喜的準備合并分支、打包提測呢,結果把分支搞壞了。
合并分支后Xcode提示NO Scheme,無論如何操作原來的scheme就是不出來了,真是急死人;
我們目前項目代碼分支如下:

分支1 、分支2都是獨立的需求模塊,已各自開發(fā)完畢;
stable分支就是我們的本地主分支和生產(chǎn)保持同步(其實它比遠程分支快幾個版本);
期望合并后如下:

按指定順序合并,這樣每個功能模塊都是在一起的,看起來一目了然;合并之前我就知道沖突肯定是有的,每個分支都改動了好多;但是作為一枚老白菜,我不怕;
于是我開始動手合并了
我有個習慣,對于很多次commit的各分支合并,我習慣性再切個分支,這樣即使出現(xiàn)意外,刪了就是了繼續(xù)重搞。
- 先合并分支1、分支2,然后再去和stable合并;
切到分支2
>>> git rebase 分支1
出現(xiàn)合并沖突,根據(jù)提示各個擊破,修改完成后繼續(xù)執(zhí)行;
>>> git add .
>>> git rebase --continue
此時分支1,2合并完成變?yōu)椋?code>master -> C11 ->C12 ->C13 ->C21 ->C22 ->C23 = 新分支1,此時可正常build、run;
然后再去git rebase合并到stable;
由于stable在master之后做了其他版本的提交,所以此時又沖突了,把原有工程文件搞壞了,也就是一直提示no scheme;
這可把我卡住了,搜了網(wǎng)上很多方法,諸如刪除工程下userdata目錄數(shù)據(jù)、重啟xcode、手動新建scheme、試了都不行;
改變策略,在搞一次
這一次改變合并順序:分支1先和stable合并,然后新分支在去和分支2;
>>> git checkout 分支1
>>> git rebase stable
此時分支1,stable合并完成變?yōu)椋?code>master -> C31 ->C32 ->C33 ->C11 ->C12 ->C13
然后新分支再合并分支2;這一步操作清楚的再現(xiàn)了,搞壞的配置文件,里面的格式全亂了;不同分組出現(xiàn)了嵌套了,被重寫了;研究了半天,硬是改好了;
最后分支合并完畢,變成了該有的樣子:
