很多博客介绍git pull和git pull --rebase的区别,布拉布拉说了一大堆,理论上最大的区别就是
git pull = git fetch + git merge
git pull --rebase = git fetch + git rebase
其实--rebase的目的只有两个:
1.让多个人在同一个分支开发的提交节点形成一条线,而不是多条线
2.让你提交的commit在该分支的最前面
举例:
一个分支上只有你自己开发:

但是呢,现在突然多了一个人开发,而且你们修改了同一个文件,他先提交,并push了,那么你的操作应该是
git add .
git commit -m "something"
git pull
这个时候,示意图就开始分叉了:

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

首先还是一条线,再者你的commit-id5在最前面。
本文深入探讨Git中pull和pull --rebase的区别,重点解析--rebase如何整合多人开发的提交历史,保持代码提交线性,及如何将个人提交置于分支前端。适合团队协作场景。

789

被折叠的 条评论
为什么被折叠?



