git pull和git pull --rebase的使用

一. git pull其实是一个复合操作

git pull = git fetch + git merge FETCH_HEAD 

git pull --rebase =  git fetch + git rebase FETCH_HEAD 

其中FETCH_HEAD为默认值,即等价于:

git pull = git fetch + git merge

git pull --rebase = git fetch + git rebase

二. git merge 和 git rebase的区别:

现在我们有这样的两个分支,test和master,提交如下:

       D---E test
      /
 A---B---C---F--- master

在master执行git merge test,然后会得到如下结果:

       D--------E
      /          \
 A---B---C---F----G---   test, master

在master执行git rebase test,然后得到如下结果:

A---B---D---E---C‘---F‘---   test, master

merge操作会生成一个新的节点,之前的提交分开显示。
而rebase操作不会生成新的节点,是将两个分支融合成一个线性的提交。

发布了398 篇原创文章 · 获赞 182 · 访问量 37万+

猜你喜欢

转载自blog.csdn.net/yexudengzhidao/article/details/104184395