首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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

合并分支后Xcode提示NO Scheme,无论如何操作原来的scheme就是不出来了,真是急死人; 我们目前项目代码分支如下: 分支1 、分支2都是独立的需求模块,已各自开发完毕; stable分支就是我们的本地主分支和生产保持同步...先合并分支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; 这可把我卡住了,搜了网上很多方法...checkout 分支1 >>> git rebase stable 此时分支1,stable合并完成变为:master -> C31 ->C32 ->C33 ->C11 ->C12 ->C13 然后新分支再合并分支

70840
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    git rebase

    假设你现在基于远程分支"origin",创建一个叫"mywork"的分支 $ git checkout -b mywork origin ?...但是,如果你想让"mywork"分支历史看起来像没有经过任何合并一样,你也许可以用 git rebase: $ git checkout mywork $ git rebase origin 这些命令会把你的..."mywork"分支里的每个提交(commit)取消掉,并且把它们临时 保存为补丁(patch)(这些补丁放到".git/rebase"目录中),然后把"mywork"分支更新 到最新的"origin"...在这种情况,Git会停止rebase并会让你去解决 冲突;在解决完冲突后,用"git-add"命令去更新这些内容的索引(index), 然后,你无需执行 git-commit,只要执行: $ git rebase...在任何时候,你可以用--abort参数来终止rebase的行动,并且"mywork" 分支会回到rebase开始前的状态。 $ git rebase --abort

    37930

    git rebase

    git rebase [目标分支] 假设有两个分支:dev 和 test,并且当前处于 test 分支,执行 git rebase dev 就是找到这两者共同的父提交 A,把 test 在这之后的操作(...,第一次冲突解决,由于 test 分支第二次提交时第一行还是原来的,所以又冲突,所以如果要被 rebase 的分支如果有多个提交历史,需要多次 rebase,可能在冲突时出现重复的内容,也不敢在第一次冲突就只保留...git rebase [目标分支] [被 rebase 分支] 比如 git rebase dev test 就是将 test 分支 rebase 到 dev 里,和上面指令的区别是:执行这条指令不需要当前处于...绘图8.png git rebase --onto [目标分支] [排除分支] [被 rebase 分支] 切换到 dev 分支,此时 B 的内容为: branch dev update 修改内容并提交...绘图9.png 现在想将 dev 分支内容 rebase 进 feature,但又想排除也在 test 分支的内容,即希望将在 dev 而不在 test 的提交,即 H 的内容在 feature 重做,

    76630

    git rebase的使用

    git rebase简单的作用就是合并,同git merge很类似,但是原理又跟git merge不同,下面我们来了解一下git rebase的作用: 1、合并多次commit 在开发过程中,我们要完成一个需求...那我们想清理掉这些commit 该如何,那就可以在自己本地分支上使用git rebase -i,使用git log查看当前分支提交了多少个commit,假设在当前分支我有5次commit,我想把这五个commit...2、使用rebase提交时,rebase会将你提交的commit删除,复制新的commit放在develop分支后面,这样看起来就会跟没有合并一样 慎重:在使用git rebase的过程中,比较容易出现冲突...,在与同事开发过程中最好不要将远程分支的commit用git rebase,也不要使用git pull --rebase,使用git merge更加可靠一些,因为可以git merge的一定可以git...rebase,但是可以git rebase的不一定可以git merge

    771100

    Git之Rebase

    其实是可以做到的! Git有一种称为rebase的操作 -先不要随意展开想象。我们还是从实际问题出发,看看怎么把分叉的提交变成直线。 在和远程分支同步后,我们对hello.py这个文件做了两次提交。...(use "git push" to publish your local commits) nothing to commit, working tree clean 加上刚才合并的提交,现在我们本地分支比远程分支超前...我们输入命令git rebase试试: $ git rebase First, rewinding head to replay your work on top of it......这就是rebase操作的特点:把分叉的提交历史“整理”成一条直线,看上去更直观。缺点是本地的分叉提交已经被修改过了。...小结 rebase操作可以把本地未push的分叉提交历史整理成直线; rebase的目的是使得我们在查看历史提交的变化时更容易,因为分叉的提交需要三方对比。

    44030

    git merge 和 git rebase

    为什么会说这两个呢,是因为我觉得这两个命令有一些共同点,而且git merge 常用,git rebase 不常用,放在一起说的时候,可以更方便了解记忆git rebase。...2,merge 的时候是先切分支到目标分支上,然后把待合并的分支合并到当前分支(也就是目标分支) git rebase git rebase 在合并分支时是不常用的,经常用在删除和修改已提交的commit...删除和修改已提交的commit之前的文章已经介绍,可以看这里git 修改倒数二个提交 这里介绍下git rebase 怎么用来合并分支 $ git checkout branch1(开发的功能分支)...这样使用的好处是,master 中的历史记录不会出现分叉 tips: 1, rebase 是将分支的commit 出现再提交一次生成一个新的commit 2, rebase的时候先切换到分支上,然后使用...git rebase到需要合并到到目标分支上 3, rebase之后还需要再切换到目标分支使用一次merge,可以将master 移动到最后的一次commit END!

    47110

    Git - Git Merge VS Git Rebase

    ---- 概述 Git merge和Git rebase是两种不同的版本控制工作流程,它们用于将一个分支的更改合并到另一个分支。...Git Rebase:重写历史操作会将当前分支的提交移动到目标分支的最新提交之后,并重新应用这些提交。这样看起来就像是目标分支上连续提交的一部分,不会创建合并提交。...Git Rebase:重写历史可以使分支历史更加清晰,因为它会将提交线性排列在一起,不会引入额外的合并提交。但这也可能会导致信息丢失,因为原始分支的提交ID会更改。...Git Rebase:通常用于在本地分支上重新排列提交以保持分支历史的线性性,以便在合并时保持清晰。它也可以用于将自己的分支与目标分支保持同步,以便更容易进行合并。...---- Flow View 小结 总之,Git Merge和Git Rebase都有其用途,取决于项目的需求和团队的工作流程。

    30130

    git专题 | 同样是分支合并, git merge和rebase有什么区别

    前言上一篇文章中,讲了在 git merge 的两种模式下分支是如何合并的。而在 git 中,除了 merge 命令,rebase 也是用于分支合并。...git merge dev -m'master4' --no-ff如下图,在 merge 的同时又相当于做了一次 commit。接着我们看看 rebase 是如何合并分支的。...与 git merge 不同的是,git rebase 不会创建合并提交,而是将两个分支的提交历史线性化,重新排列提交记录。...rebase 合并再次回退到 merge 合并前的状态,执行 git rebase dev 来合并。...团队协作时,如果你希望保留所有开发者的开发记录,建议选择 git merge。个人开发时,如果喜欢线性整洁的开发记录,那么 git rebase 更合适。

    63820

    Git知识总览(四) git分支管理之rebase 以及 cherry-pick相关操作

    上篇博客聊了《Git知识总览(三) 分支的创建、删除、切换、合并以及冲突解决》,本篇博客我们主要来看一下 rebase 变基相关的操作。...然后在 side 分支上执行 git rebase master 操作,将其变基到master分支上。 ?...二、rebase的基本操作 首先我们来看一下在git分支管理中如何使用rebase, 以及rebase的后会起什么作用。下方会根据一系列的示例来看一下rebase操作的实际效果。...下方是在 bugfix01分支上执行的 git rebase master 将bugfix01分支变基到master分支上,下方是变基后的分支状态。...从rebase操作的结果来看,其对 git 的分支进行了整理,换句话说,rebase操作可以将其他分支上的内容合并到主分支上,合并后之前的分支的指针的指向也会随之变化,变化后之前的提交就会被抛弃掉。

    1.7K50

    Git rebase使用详解

    git rebase能够将分叉的分支重新合并,之前写过一篇文章介绍它的原理,下面主要介绍它的两个使用场景: 场景一:本地与远端同一分支提交历史不一致 方式一 多个人在同一个分支上协作时,出现冲突是很正常的...由于我本地master的提交历史和远端的master分支的提交历史不一致,所以git为我进行了自动合并,然后生成了一个新的提交历史(f63ecbf Merge branch 'master' of) 对于部分强迫症来说这个不能接受的...方式二 直接执行: git pull --rebase 效果与上面是一致的,也是最近才发现,推荐使用 场景二:不同分支之间的合并 由于老板突发奇想,要求开发一个新的功能。...: git rebase master 这句命令的意识是:以master为基础,将feature分支上的修改增加到master分支上,并生成新的版本。...add newFunc.go 现在是重点,之前的rebase其实只是完成了一半,由于出现冲突而终止,现在冲突解决,可以通过git rebase —continue继续完成之前的rebase操作。

    62260

    合并分支用rebase还是merge?

    查看远程仓库,多了一个dev分支 此时的git分支类图是这样的 此时B同学开始进行开发,完成了自己的3次提交工作,使用git log 看一下 此时git的分支类图是这样子的 重点 现在有这样一个现实的请况...直接git rebase 切换分支到需要rebase的分支,这里是dev分支 执行git rebase master,有冲突就解决冲突,解决后直接git add ....再git rebase --continue即可 发现采用rebase的方式进行分支合并,整个master分支并没有多出一个新的commit,原来dev分支上的那几次(C3,C4,C5)commit记录在...rebase之后其hash值发生了变化,不在是当初在dev分支上提交的时候的hash值了,但是提交的内容被全部复制保留了,并且整个master分支的commit记录呈线性记录 此时git的分支类图 总结...最后的分支树呈现非线性的结构 git reabse 将dev的当前提交复制到master的最新提交之后,会形成一个线性的分支树

    15310

    扫码

    添加站长 进交流群

    领取专属 10元无门槛券

    手把手带您无忧上云

    扫码加入开发者社群

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭
      领券