Git之合并(merge rebase)

合并(merge rebase)

在这里插入图片描述

1、merge

git checkout feature
git merge main

在这里插入图片描述
说明:

  • merge合并再feature分支中创建了一个合并提交(绿色带星提交)。合并操作没有破坏性。存在的分支历史不会发生改变。

2、rebase

git checkout feature
git rebase main

在这里插入图片描述
说明:

  • 如同所示,把feature分支的起始历史放到main分支的最后一次提交之上,达成了使用main分支中新代码的目的,rebase操作会通过为原始
  • 分支的每次提交创建全新提交,从而重写原始分支的提交历史(绿色带星的提交)。
  • 使用rebase操作的最大好处在于你可以让项目提交历史变得非常干净整洁。首先,它消除了git merge操作所需创建的没有必要的合并提交。其次,正如上图所示,rebase会造就一个线性的项目提交历史——也就是说你可以从feature分支的顶部开始向下查找到分支的起始点,而不会碰到任何历史分叉。

3、rebase操作黄金法则

永远不要在公共分支上使用它
在这里插入图片描述
如果在公共分支main上使用了rebase,那么main分支上的一些提交(白色方框的提交)将会丢失,那么团队里面基于main分支上的其它分支可能会出现没有父提交了(其他小伙伴会傻眼的!!!哈哈)。

4、使用场景总结

  • 在非公共分支上的合并都用rebase,其他情况用merge。(全网最简洁的总结)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值