详解git pull中为什么加--rebase
2017-07-13| 程成| 2034| 0| Git

在拉取代码时候,被要求git pull后面加个--rebase。不明白为什么要加个--rebase,以及它的含义。百度了下,发现git pull和git pull --rebase有着很大的区别的。


git pull = git fetch + git merge

git pull --rebase = git fetch + git rebase


首先,介绍下这几个命令的含义:

1、git fetch:相当于是从远程获取最新版本到本地,不会自动merge。在实际使用中,git fetch更安全一些。因为在merge前,我们可以查看更新情况,然后再决定是否合并。

2、git pull:相当于是从远程获取最新版本并merge到本地,相当于git fetch和git merge。

3、git rebase:主要用在从上游分支获取最新commit信息,并有机的将当前分支和上游分支进行合并。和git merge效果一样,原理不同,git rebase过程相比较git merge合并整合得到的结果没有任何区别,但是通过git rebase衍合能产生一个更为整洁的提交历史。


注:git rebase和git merge区别原理 - 参考文献:http://blog.csdn.net/wh_19910525/article/details/7554489



×
作者:程成
QQ:492245711