图解Git合并--Merge和Rebase

作者: 林檎果 | 来源:发表于2018-04-14 13:54 被阅读67次

项目初始情况


项目初始情况

Merge

fast-forward

fast-forward

快速合并,直接把指针指向前去,无冲突要解决。

非 fast-forward

image

保留历史记录,解决冲突

设置 non fast-forward

non fast-forward

即使能快速合并,也搞出一个合并的点,保留历史记录

rebase

假设当前状况为这样


image image

此时rebase,则把rebase的历史记录插到master的头上

image

结果就是好像learn-rebase这个分支不存在一样

对比 merge 和 rebase 最终的历史记录,可以发现 merge 保持了修改内容的历史记录,但是历史记录会很复杂;而 rebase 后的历史记录简单,是在原有提交的基础上将差异内容反映进去。

merge与rebase

建议:

  1. 和同事分别开发2个分支功能时,同事时不时会提交到master分支,尽量及时rebase上游分支,这样你最终合并时可以把同事的代码带上,而不是最终解决大量冲突。

关于我:

linxinzhe,全栈工程师,目前供职于某500强通信企业。人工智能,区块链爱好者。

GitHub:https://github.com/linxinzhe

欢迎留言讨论,也欢迎关注我~
我也会关注你的哦!

相关文章

网友评论

    本文标题:图解Git合并--Merge和Rebase

    本文链接:https://www.haomeiwen.com/subject/cbklkftx.html