Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >“git merge”和“git rebase”有什么区别?

“git merge”和“git rebase”有什么区别?

提问于 2017-12-26 02:34:13
回答 2关注 0查看 1.2K

git merge和之间有什么区别git rebase?

回答 2

嗨喽你好

发布于 2017-12-26 06:16:56

git rebase就是那种典型的,使用MVC模型的时候喜欢想着用Model来代替View的这种人,会喜欢做的事情。其实也没有什么好和不好,但是保留原始数据显然是相当重要的。你嫌图形不好看的话,自己写一个程序去画就好了。就像没有人会在SQLServer里面真的用一棵树来表示树形的留言一样。

以往V

发布于 2017-12-26 06:16:31

两个使用场景是不一样的,merge只是合并另外一个分支的内容,rebase也合并另外一个分支的内容,但是会把本分支的commits顶到最顶端假设我们现在有3个分支master分支:线上环境使用的分支testing分支:测试环境使用的分支my_feature分支:开发新功能的分支,也就是当前分支A. 假设我在my_feature上开发了一段时间,之后另外的同事开发的功能正式上线到master分支了,那么我可以在当前的分支下rebase一下master分支,这样我这个分支的几个commits相对于master还是处于最顶端的,也就是说rebase主要用来跟上游同步,同时把自己的修改顶到最上面B. 我在my_feature上开发了一段时间了,想要放到testing分支上,那就切到testing,然后merge my_feature进来,因为是个测试分支,commits的顺序无所谓,也就没必要用rebase (当然你也可以用rebase)另外,单独使用rebase,还有调整当前分支上commits的功能(合并,丢弃,修改commites msg)PS:其他知友的答案都说到冲突的问题,1. 用merge确实只需要解决一遍冲突,比较简单粗暴2. 用rebase有时候会需要多次fix冲突(原因在于本地分支已经提交了非常多的commit,而且很久都没有和上游合并过)我个人推荐大家开发的时候,尽量及时rebase上游分支(我习惯是每周merge一次),有冲突提前就fix掉,即使我们自己的分支开发了很久(哪怕是几个月),也不会积累太多的conflict,最后合并进主分支的时候特别轻松, 非常反对从master check出新分支,自己闷头开发几个月,结果最后merge进主分支的时候,一大堆冲突,自己还嗷嗷叫的行为

和开发者交流更多问题细节吧,去 写回答
相关文章
git merge 和 git rebase
为什么会说这两个呢,是因为我觉得这两个命令有一些共同点,而且git merge 常用,git rebase 不常用,放在一起说的时候,可以更方便了解记忆git rebase。
艳龙
2021/12/16
5420
git merge 和 git rebase
Git - Git Merge VS Git Rebase
Git merge和Git rebase是两种不同的版本控制工作流程,它们用于将一个分支的更改合并到另一个分支。它们有不同的工作原理和应用场景,下面是它们的主要区别:
小小工匠
2023/09/14
3970
Git - Git Merge VS Git Rebase
git merge vs git rebase
https://www.atlassian.com/git/tutorials/merging-vs-rebasing/conceptual-overview
jiewuyou
2022/09/29
4610
git rebase merge 区别
老是问rebase merge 的区别,先问,他们为什么要有区别? 我的理解:为了看提交日志需要【主要看顺序,不同的提交排序规则】 A 在orignal 分支 am 8:00提交一次修改 【修改8】 B 在master 分支  am 9:00提交一次修改 【修改9】 A 在orignal 分支 am 10:00提交一次修改 【修改10】 B 在master 分支  am 11:00提交一次修改 【修改11】 现在,进入master 分支目录 执行git merge orignal 然后看下日志,应该是: 1
技术蓝海
2018/04/26
6990
图解Git合并--Merge和Rebase
项目初始情况 Merge fast-forward 快速合并,直接把指针指向前去,无冲突要解决。 非 fast-forward 保留历史记录,解决冲突 设置 non fast-forward 即使能快
linxinzhe
2018/04/24
1.4K0
图解Git合并--Merge和Rebase
带你理解 Git 中的 Merge 和 Rebase
Rebase 和 merge 都被设计用来将变更从一个分支整合到另一个分支,但是它们的实现方式却不同。
savokiss
2019/11/06
1.7K0
带你理解 Git 中的 Merge 和 Rebase
git中的merge与rebase
之前一直对git的merge与rebase很困惑,而且一般也只使用merge而不是使用rebase。今天受高人指点理清了两者的区别。 首先对于两者而言,他们的结果是一样的,差异在于合并的方式(产生的结
用户1134788
2018/05/16
6790
【Git学习笔记】逃不掉的merge和rebase
在前面的知识点中我们已经介绍过merge了,实际上遇到过合并,今天以实际中经常遇到的情况作为例子进行实操。
用户6543014
2019/11/23
9.1K0
Git 高级合并工具 Merge 和 Rebase 简单介绍(一)
我们在通过命令远程拉取代码时,特别是大家共同维护的项目。经常会出现Merge和Rebase两种模式的选择。
zinyan.com
2023/07/13
2.2K0
Git 高级合并工具 Merge 和 Rebase 简单介绍(一)
git rebase
但是与此同时,有些人也在"origin"分支上做了一些修改并且做了提交了. 这就意味着"origin"和"mywork"这两个分支各自"前进"了,它们之间"分叉"了
JavaEdge
2018/08/10
4270
git rebase
git rebase
rebase 这个命令正式工作中基本上没有用过,只是学习时曾经写过 Demo,但具体指令的含义不是太理解,总觉得没有 merge 来得有掌控感,而且过去使用代码出过问题,所以一直知道但没去用它。
三流之路
2018/09/11
8060
git rebase
Git -- Rebase
git rebase: 这个命令可以把一个分支上commit的变化放到另一个分支上重新上演一遍. 简单的Rebase例子. 首先准备好一个git项目. 做一个feature分支, 然后做几个commi
solenovex
2018/03/29
8230
Git -- Rebase
Git知识总览(五) Git中的merge、rebase、cherry-pick以及交互式rebase
上篇博客聊了《git分支管理之rebase 以及 cherry-pick相关操作》本篇博客我们就以Learning Git中的关卡进行展开。下方列举了LearningGit中的 merge、rebase、reset、revert、cherry-pick 以及交互式rebase相关关卡的操作以及对应的解析。后边在聊交互式rebase操作是,不单单给出了LearningGit中的内容,而且给出了真正的Git分支在交互式rebase操作时的具体案例。 learngitbranching的地址为:https://l
lizelu
2018/03/28
20.4K0
Git知识总览(五) Git中的merge、rebase、cherry-pick以及交互式rebase
Git之Rebase
在上一节我们看到了,多人在同一个分支上协作时,很容易出现冲突。即使没有冲突,后push的童鞋不得不先pull,在本地合并,然后才能push成功。 每次合并再push后,分支变成了这样: $ git log --graph --pretty=oneline --abbrev-commit * d1be385 (HEAD -> master, origin/master) init hello * e5e69f1 Merge branch 'dev' |\ | * 57c53ab (or
兮动人
2021/06/11
4780
git rebase使用
作用: 是重置提效记录。 本质是,当合并其它分支的提交记录后,重整提交记录。 不论是自己开发,还是参加开源项目,有很多时间,需要重整提交记录。美化一下,这时候就很有用了。
潇洒
2023/10/20
3240
git rebase使用
git merge用法详解_git merge 冲突
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/03
8880
Git之rebase、merge和cherry pick的区别详解—面试常问
转载请注明出处:https://www.cnblogs.com/NaughtyCat/p/differ-with-rebase-merge-cherry-pick.html
NaughtyCat
2020/10/09
2K0
Git之rebase、merge和cherry pick的区别详解—面试常问
【Git】 什么!?都快2023年了还搞不清楚 git rebase 与 git merge!?
众所周知,在使用 git 进行项目版本管理中,当完成一个功能点的开发并将其合并到 dev 分支时,一般情况下我们会有两种方式进行合并:git merge 与 git rebase,二者都是将一个分支新的commits,合并到另外一个分支上。但是从原理上,二者却截然不同,今天来聊聊二者的用法、区别以及使用场景。
HoMeTown
2022/10/26
3.1K0
【Git】 什么!?都快2023年了还搞不清楚 git rebase 与 git merge!?
git pull 代码的时候默认使用 rebase 而不是 merge
git pull 实际会有两个操作,一个是 git fetch,另外一个是 git merge。一般 merge 的情况下会产生一个新的提交名字为 Merge branch ****,如下图所示:
我与梦想有个约会
2023/10/21
1.1K0
git pull 代码的时候默认使用 rebase 而不是 merge
git pull 代码的时候默认使用 rebase 而不是 merge
git pull 实际会有两个操作,一个是 git fetch,另外一个是 git merge。一般 merge 的情况下会产生一个新的提交名字为 Merge branch ****,如下图所示:
我与梦想有个约会
2023/10/21
1.2K0
git pull 代码的时候默认使用 rebase 而不是 merge

相似问题

`git merge`和`git merge --no-ff`有什么区别?

11.9K

git commit”和“git push”有什么区别?

22.5K

Git中HEAD ^和HEAD〜有什么区别??

2824

什么时候应该使用git pull --rebase?

21.6K

工蜂GIT?

1791
相关问答用户
某公司 | 程序员擅长1个领域
腾讯云TDP | 先锋会员擅长2个领域
腾讯云TDP | 产品KOL擅长5个领域
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档