一直以来都以为rebase是合并冲突的一种手段,和merge一样的,有哪个都行。今天才决定把他们搞懂了。我是有多么的懒。。
git merge 会生成一个新得合并节点,而rebase不会
D---E test
/
A---B---C---F master
使用merge合并后
D--------E
/ \
A---B---C---F----G test, master
而使用rebase合并后
A---B---D---E---C'---F' test, master
而默认的 git pull 其实是暗含参数merge的。即 git pull --merge。
如果我们希望以后维护分支时看到一个更简洁的分支树,请加上参数 git pull --rebase