对比git pull和git pull --rebase

本文深入探讨Git中pull和pull --rebase的区别,重点解析--rebase如何整合多人开发的提交历史,保持代码提交线性,及如何将个人提交置于分支前端。适合团队协作场景。

很多博客介绍git pull和git pull --rebase的区别,布拉布拉说了一大堆,理论上最大的区别就是

git pull = git fetch + git merge

git pull --rebase = git fetch + git rebase

其实--rebase的目的只有两个:

1.让多个人在同一个分支开发的提交节点形成一条线,而不是多条线

2.让你提交的commit在该分支的最前面

举例:

一个分支上只有你自己开发:

9ded8994df1af4a78054f991a7201a7a981.jpg

但是呢,现在突然多了一个人开发,而且你们修改了同一个文件,他先提交,并push了,那么你的操作应该是

git add .
git commit -m "something"
git pull

这个时候,示意图就开始分叉了:

8314e377cb58b03fb5e2e16dd298886a2ce.jpg

但是A同学把上面的git pull 改成了git pull --rebase之后,就变成了下图:

bfd10811ca7c7779bd76d2f2452068c78f7.jpg

首先还是一条线,再者你的commit-id5在最前面。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值