git rebase幾個子分支后項目凌亂了

新需求開發(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)了嵌套了,被重寫了;研究了半天,硬是改好了;

最后分支合并完畢,變成了該有的樣子:

所有的子分支終于回到主分支了,這下可以愉快的打包發(fā)版提測了;
最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容