美文网首页
git rebase几个子分支后项目凌乱了

git rebase几个子分支后项目凌乱了

作者: Light413 | 来源:发表于2021-10-29 00:25 被阅读0次

新需求开发完了满心欢喜的准备合并分支、打包提测呢,结果把分支搞坏了。

合并分支后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;这一步操作清楚的再现了,搞坏的配置文件,里面的格式全乱了;不同分组出现了嵌套了,被重写了;研究了半天,硬是改好了;

最后分支合并完毕,变成了该有的样子:

所有的子分支终于回到主分支了,这下可以愉快的打包发版提测了;

相关文章

  • git rebase几个子分支后项目凌乱了

    新需求开发完了满心欢喜的准备合并分支、打包提测呢,结果把分支搞坏了。 合并分支后Xcode提示NO Scheme,...

  • 如何正确rebase

    git rebase -i origin/分支 合并冲突 git status git rebase --cont...

  • git使用

    git commit git branch ---新建分支 git rebase 分支 ---变基到某个分支 gi...

  • 工作中用到的git操作

    git rebase git rebase 原理 找到这两个分支(即当前分支 experiment、变基操作的目标...

  • git整体学习

    基础 1. git ... 3. git rebase 第二种合并分支的方法是 git rebase。Rebase...

  • git rebase详解

    参考Git分支Rebase详解。

  • Git 基本操作收集

    rebase : git rebase用于把一个分支的修改合并到当前分支。详情

  • git本地合并分支

    git 本地合并分支 一、git rebase 二、git merge

  • Git变基 - rebase

    基本流程 将分支切换到dev分支; 执行git rebase master; 之后dev就变为master的直接后...

  • 关于rebase的使用

    git rebase git rebase 的使用意义是,将当前分支上发生的事情,以指定的分支为参考基础,重现一遍...

网友评论

      本文标题:git rebase几个子分支后项目凌乱了

      本文链接:https://www.haomeiwen.com/subject/eubbaltx.html