git merge和git rebase的前世今生

相信你也和我一样习惯了merge一下,什么时候有rebase这个东东的?下面和我一起来探寻一下这两者的区别吧。
我并没有建议你使用git merge还是git rebase,这需要你自己做权衡。



对比参考

为什么你应该停止使用Git rebase

merge

将另一个分支的所有修改合并到指定的目标分支,有冲突的需要解决完冲突,才能再次合并。

merge

rebase

说实话,可能是我的智商捉急,看其他一些大神的博客没看懂rebase这个东东啥意思。一个好的学习从提问开始,在看完参考链接的内容后,我产生了三个疑问:

  1. 什么时候用变基(rebase)
  2. 变基(rebase)的优缺点
  3. 变基(rebase)怎么用

相信掌握了以上三个问题的你,一定就清楚mergerebase的区别了吧。

什么时候用变基

参考链接内容说的是当本地开发某个分支的时候另在此分支基础上又新建分支就有了变基的用武之地,这两个分支都是本地的情况。
变基使用

变基怎么用

  1. 在开发分支执行:
$ git rebase master feature
  1. 在主分支执行:
$ git checkout master
$ git merge feature

其实变基就相当于,在我们原先基于源分支第A次提交基础上创建的新分支,在新分支上再拉取一次源分支最新的提交,并将我们在新分支上的所有提交打包成一个补丁,附到新提交上,之前的新分支更改抛弃掉,这样我们的提交历史看上去就会是一条直线。

rebase原理粗略解析

变基优缺点

  1. 优点
    至少在本地多个分支合并变基的线看上去是一条整齐的直线。

  2. 缺点
    变基操作会抛弃一些已有的代码,但是当另一个开发者是基于这些已有代码新建的分支,那么当执行完变基后,另一个开发者再推送,提交历史又会变得一团糟,这就违背了我们期望提交历史清晰的初衷。

参考链接

感谢

[1] git官方文档 .6 Git 分支 - 分支的变基
[2] git官方文档 分支的合并

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值