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

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

先合并分支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 然后新分支再合并分支...2;这一步操作清楚的再现,搞坏的配置文件,里面的格式全乱;不同分组出现嵌套了,被重写了;研究半天,硬是改好了; 最后分支合并完毕,变成了该有的样子: 所有的子分支终于回到主分支,这下可以愉快的打包发版提测

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

git log 查看 当前分支的 提交历史

大家好,又见面,我是你们的朋友全栈君 git log 查看 当前分支的 提交历史 在提交了若干更新之后,想回顾下提交历史,可以使用 git log 命令查看 默认不用任何参数的话,git log 会按提交时间列出所有的更新...git log 有许多选项可以帮助你搜寻感兴趣的提交,接下来我们介绍些最常用的。...我们常用 -p 选项 展开显示每次提交的内容差异,用 -2 则仅显示最近的两次更新: $ git log -p -2 此外,还有许多摘要选项可以用,比如 --stat,仅简要的显示 文件 增改行数统计,...$ git log –stat –author 仅显示指定作者相关的提交。...$ git log –author=作者 查找 作者 提交的 版本; 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/171988.html原文链接:https

4.6K20

Merge vs Rebase

概念 首先要理解的是git rebasegit merge解决同样的问题。这两个命令都旨在将更改从一个分支集成到另一个分支 - 它们只是以不同的方式进行。...Interactive Rebase Interactive rebase使你有机会在将提交移动到新分支时更改提交。这比自动rebase更强大,因为它提供分支提交历史的完全控制。...由于rebase导致全新的提交,Git会认为你的master分支历史与其他人的历史不同。...任何工作流程git rebase的第一步是为每个功能创建专用分支。这为你提供必要的分支结构,以安全地利用rebase: ?...如果你不熟悉git rebase,可以随时在临时分支中执行rebase。这样,如果你不小心弄乱feature的历史记录,可以查看原始分支,然后重试。

1.5K20

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

然后在 side 分支上执行 git rebase master 操作,将其变基到master分支上。 ?...如果别人也clone的相关仓库,在其分支上做了相关操作。在push之前执行pull时,因为之前的分支被你rebase,也就是有新的提交,在pull时,就会进行merge操作。...这一块具体的东西还是参考ProGit上的内容来的比较直观,在此就不做过多赘述。 三、rebase的冲突解决 为了看rebase冲突的解决方式,我们故意的制造下方的冲突,然后去执行rebase操作。...下方就演示cherry-pick命令的使用方法。在 master 分支上,执行 git cherry-pick 然后将这些提交合并到master分支上。...下方是上述操作的最终结果,cherry-pick三个commit,冲突三次,解决三次。如下所示: ? 下篇博客会继续聊Git的相关的内容。

1.3K50

git 切换分支 + 提交 + 更新 +查看历史 + 提交 + 推送

查看远程分支    git branch  或者 git branch -r 二.拉取远程分支到本地 两种方法   公式 1: git checkout -b 本地分支名 origin/远程分支名...-b stable origin/stable-1.1.10 公式 2:  git fetch origin 远程分支名 : 本地分支名 公式2 只能在本地新建分支,但是不会自动切换到该本地分支,需要手动...切换分支公式: git checkout 分支名称 2.查看当前所在分支git branch             (当前分支会有 *,并高亮显示  比如下面的  dev) 四:查看历史:   history...五:查看要提交的文件     git status  六:提交文件 + 注释 七:推送到远程分支 公式: git push origin  本地分支名 : 远程分支git push...这样本地就干净git status后看不见修改的文件 2.然后 git pull 拉取文件 3.git stash pop恢复最新的进度到工作区。

1.9K30

如何优雅的使用 git pull ?

分支上: git checkout feature git rebase master 这会将整个 feature 分支移动到 master 分支的顶端,从而有效地整合所有 master 分支上的提交...交互式 Rebase 交互式 rebase 使你有机会在将 commits 移动到新分支时更改这些 commits。这比自动 rebase 更强大,因为它提供分支提交历史的完全控制。...由于 rebase 导致全新 commit,Git 会认为你的 master 分支历史与其他人的历史不同。...Force Push 如果你尝试将 rebase 的 master 分支推送回 remote repository,Git 将阻止你这样做,因为它会与远程master 分支冲突。...如果您不熟悉 git rebase,可以随时在临时分支中执行 rebase。这样,如果你不小心弄乱功能的历史记录,可以查看原始分支,然后重试。

1.3K30

10 个迅速提升你 Git 水平的提示

是谁弄乱我的代码? 当事情出错时,先去指责别人是人类的天性之一。如果你的产品服务器挂了,使用git blame命令可以很容易找出罪魁祸首。...—graph- 图形模式,使用该选项会在输出的左边绘制一张基于文本格式的历史信息表示图。如果你查看的是单个分支历史记录的话,该选项无效。...—all- 显示所有分支历史记录 把这些选项组合起来之后,输出看起来会像这样: ? 5....在你知道又要进行变更之前,你已经有一些额外的commit。理想情况下,你可以用rebase命令把多个commit压缩成一个。...如果你在一个分支中解决它,你可以使用cherry-pick命令把它commit到其它分支上去,而不会弄乱其他的文件或commit。 让我们来设想一个用得着它的场景。

73540

合并冲突 - 每天三分钟玩转Git(三)

就连Git自己也不知道应该保存哪一份文件,在此时就需要一个超级英雄出现拯救世界,他享有最高的决定权,而那个人就是你。...一般rebase或pull冲突的时候,都会出现提示,然后git status会出现上图图示 这个时候不可以进行任何分支切换和commit操作,按照他提示进行处理 git status提示哪个文件是都被修改的...,both modified,然后使用编辑器修改该文件,解决冲突 解决完成后,git add 添加该冲突文件 git rebase --continue,并更新commit message,完成整个rebase...git add再git rebase --continue后完成rebase,效果如下,再push的远程仓库即可 ?...通常我们开一个新的开发分支是为了在自己的分支上写代码,方便提交也不会把主线弄乱。 现在我们用同样的方法将dev/pzqu合并到master分支,然后把两个分支都提交到远程。 ?

57610

Git】 什么!?都快2023年还搞不清楚 git rebasegit merge!?

会严重污染分支历史记录,如果很多人很多分支进行开发与merge,分支图就会变成泡面图: git rebase 接下来我们再从dev分支切出一个新分支feat-a git checkout -b feat-a...Git Graph如下: 可以看到: rebase操作 将我们本地的feat-a分支整个移动到了dev分支的顶端,有效的整合所有的dev分支上的提交,但是,与 merge操作 有所不同的是,reabse...rebase操作 的好处是可以获得更清晰的历史记录,首先他消除了git merge产生的merge commits,其次,如你在图上看到的,rebase会产生一个线性的历史记录,你可以在feat-a分支上没有任何分叉的情况下...git rebase 优点:无需新增提交记录到目标分支,reabse后可以直接将对象分支的提交历史加到目标分支上,形成线性提交历史记录,更加直观。...合代码到个人分值的时候使用git rebase,可以不污染分支历史提交记录,形成简介的线性记录。

1.5K20

git常用操作都在这里(二)

会一个一个压缩提交历史,如果有冲突,需要修改,修改的时候要注意, 保留最新的历史,不然我们的修改就丢弃。...修改以后要记得敲下面的命令: git add . git rebase --continue 如果你想放弃这次压缩的话,执行以下命令: git rebase --abort 如果所有冲突都已经解决,会出现如下的编辑窗口...现在可以暂存并提交文件直到有几个提交, 然后当完成时运行 git rebase --continue: $ git reset HEAD^ $ git add README $ git commit -...-continue Git 在脚本中应用最后一次提交(a5f4a0d),历史记录看起来像这样: $ git log -4 --pretty=format:"%h %s" 1c002dd added cat-file...如果你在一个分支中解决它, 你可以使用cherry-pick命令把它commit到其它分支上去,而不会弄乱其他的文件或commit。 让我们来设想一个用得着它的场景。

921100

终于有人把 Git 分支讲清楚

从本质上来讲 Git 是一个内容寻址(content-addressable)文件系统,并在此之上提供一个版本控制系统的用户界面。...Working Directory:最后,你就有自己的工作目录。另外两棵树以一种高效但并不直观的方式,将它们的内容存储在 .git 文件夹中。工作目录会将它们解包为实际的文件以便编辑。 ?.../test.git 1、添加项目文件到本地git缓冲区 git add -A git commit -m ‘初始化项目’ 或者 git commit -a -m ‘初始化项目’ 2、将本地分支关联远程分支并提交...,git默认在远程分支上创建于本地分支同名的分支 git push --set-upstream origin master 这就是将本地的master分支 与 origin远程仓库关联起来并在远程仓库创建同名...upstream:上游的意思 3、至此,应该就可以,我们可以在git服务器上刷新看看是否提交上去了 提交某一分支的修改 查看当前分支的修改 git status 查看想要查看的文件的修改 git diff

97011

原创 | git rebase的时候捅娄子,怎么办?在线等……

大家在使用git的过程当中有闯过祸吗? 我闯过,我闯的第一个祸就是使用git rebase造成的,虽然后来最终还是解决,但是还是给我吓得不轻。当时的事情是这样的。 我们来看下这张图: ?...于是我决定使用rebase修复一下提交记录,搞完了之后使用git push -f强行更新远程分支。 因为我们之前已经push过了,想要用新的commit记录覆盖掉旧的就必须要使用-f强行推送。...rebase的禁忌 这里藏着的问题就是feature分支,我们从图中可以看到feature分支是mergeC5节点的。但是当我们rebase push -f之后,C5节点其实就不存在。...所以相当于我们把master分支的改动又merge一次,我们本地依赖rebase之前的改动,这样一merge自然就把两个版本的改动merge在一起。...当我们执行rebase的时候,git会找出我们当前分支独有而master分支上没有的改动,将这些改动提取出来应用在master上得到一个新的结果。 ? 这样我们的记录当中就不会把C2和C5带进来了。

1.4K10

Git Merge vs. Git Rebase: 选择正确的合并策略

优点 保留历史完整性:合并操作保持两个分支的原始历史不变。 简单直观:对于 Git 新手来说, merge 更易于理解和操作。...Git Rebase 概述 git rebase 重新定位分支上的更改,将它们放在另一分支的最新更改之上。这通常涉及重写提交历史,使其看起来更加线性。...优点 清晰的线性历史rebase 为项目提供一个干净、直线的历史。 避免冗余合并提交:有助于减少不必要的合并提交。...在团队协作的公共分支上, git merge 是更安全的选择,因为它保留了完整的历史记录,易于团队成员理解和追踪。 在Push代码时遇见冲突时用Git Merge还是Git Rebase?...2.影响: 这会在你的历史中创建一个新的合并提交,显示你合并远程更改。 它保留了两个分支的完整历史,包括你的本地更改和远程的更改。

45910

如何克服解决Git冲突的恐惧症?(Git基础篇--下)

在上一篇中,介绍git的初始化配置配置、获取帮助、初始化仓库、跟踪新文件、提交、忽略某些文件,以及分支,具体文章:如何克服解决Git冲突的恐惧症?...现有的分支不会被更改,避免了rebase潜在的缺点,另一方面,这同样意味着每次合并上游更改时feature分支都会引入一个外来的合并提交。如果master非常活跃的话,这或多或少会污染你的分支历史。...虽然高级的git log选项可以减轻这个问题,但对于开发者来说,还是会增加理解项目历史的难度。 Rebase最大的好处是你的项目历史会非常整洁。...如果你违反了Rebase黄金法则,重写项目历史可能会给你的协作工作流带来灾难性的影响。此外,rebase不会有合并提交中附带的信息——你看不到feature分支中并入了上游的哪些更改。...http://hellomypastor.net >>>>>>> init 解决冲突之后,执行: git add README.md git rebase --continue 这样就解决冲突,是不是很简单

83631

Git分支合并选择

(个人还是喜欢上面的写法) git merge develop feature feature分支中新的合并提交(merge commit)将两个分支历史连在一起。...但是,rebase为原分支上每一个提交创建一个新的提交,重写了项目历史,并且不会带来合并提交。 ? rebase最大的好处是你的项目历史会非常整洁。...首先,它不像git merge 那样引入不必要的合并提交。其次,如上图所示,rebase导致最后的项目历史呈现出完美的线性。这让你更容易使用git log来查看项目历史。...因为rebase引起了新的提交,Git会认为你的develop分支和其他人的develop已经分叉。...不然的话,你可以随心所欲地重写历史。 总结 如果你想要一个干净的、线性的提交历史,没有不必要的合并提交,你应该使用git rebase 而不是git merge 来并入其他分支上的更改。

1K50

新来个技术总监:发现谁再用 Git rebase 提交合并直接开除!

但是,如果由于使用不当会造成很多不必要的麻烦,这不,公司新来个技术总监有次就发飚:谁再乱用 Git rebase 直接开除。。。。。 所以,今天我们一起好好探讨一下这两个命令的作用与区别在哪?...git rebase还提供 6 种操作模式: reword:修改提交信息 edit:修改此提交 squash:将当前提交合并到之前的提交中 fixup:将当前提交合并到之前的提交中,不保留提交日志消息...exec:在每一个需要变基的提交上执行一条命令 drop:删除提交 下图介绍经过 rebase 前后提交历史的变化情况。...这导致 Git 历史记录中出现多个分支合并点的情况,从而使历史记录更加复杂。 Git rebase 是将一个分支的提交序列“拉直”,并且将其与另一个分支合并。...rebase 命令一般用于将基分支的新提交记录,合并到正在进行开发任务或修复任务的分支上,因为该命令能保证开发分支历史与基分支历史保持一致,从而减少污染性。

23630
领券