git rebase merge 区别

老是问rebase merge 的区别,先问,他们为什么要有区别?

我的理解:为了看提交日志需要【主要看顺序,不同的提交排序规则】

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

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

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

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内部还是以提交为顺序)。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券