很多博客介绍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在最前面。