git rebase merge 区别

总是问rebase merge 的区别,先问,他们为何要有区别?git

个人理解:为了看提交日志须要【主要看顺序,不一样的提交排序规则】日志

A 在orignal 分支 am 8:00提交一次修改 【修改8】排序

B 在master 分支  am 9:00提交一次修改 【修改9】it

A 在orignal 分支 am 10:00提交一次修改 【修改10】ast

B 在master 分支  am 11:00提交一次修改 【修改11】总结

如今,进入master 分支目录 执行git merge orignal时间

而后看下日志,应该是:分支

11:00提交一次修改 【修改11】

10:00提交一次修改 【修改10】

9:00提交一次修改 【修改9】

8:00提交一次修改 【修改8】

若是进入 master 分支目录 执行git rebase orignal

而后看下日志,应该是:

10:00提交一次修改 【修改10】

8:00提交一次修改 【修改8】

11:00提交一次修改 【修改11】

9:00提交一次修改 【修改9】

git 实现是把A提交的作个patch,而后应用到master上。

总结:merge以提交时间为顺序,rebase以前后合并进来的分支为顺序(同一次rebase内部仍是以提交为顺序)。

相关文章
相关标签/搜索