开发者社区> 问答> 正文

rebase 与 merge的区别?

展开
收起
前端问答 2019-12-13 08:00:15 1511 0
1 条回答
写回答
取消 提交回答
  • 前端问答小助手

    git rebase 和 git merge ⼀样都是⽤于从⼀个分⽀获取并且合并到当前分⽀.

    假设⼀个场景,就是我们开发的[feature/todo]分⽀要合并到master主分⽀,那么⽤rebase或者merge有什么不同呢?

    image.png

    • merge 特点:⾃动创建⼀个新的commit 如果合并的时候遇到冲突,仅需要修改后重新commit
    • 优点:记录了真实的commit情况,包括每个分⽀的详情
    • 缺点:因为每次merge会⾃动产⽣⼀个merge commit,所以在使⽤⼀些git 的GUI tools,特别是commit⽐较频繁时,看到分⽀很杂乱。

    image.png

    • rebase 特点:会合并之前的commit历史
    • 优点:得到更简洁的项⽬历史,去掉了merge commit
    • 缺点:如果合并出现代码问题不容易定位,因为re-write了history

    因此,当需要保留详细的合并信息的时候建议使⽤git merge,特别是需要将分⽀合并进⼊master分⽀时;当发现⾃⼰修 改某个功能时,频繁进⾏了git commit提交时,发现其实过多的提交信息没有必要时,可以尝试git rebase.

    2019-12-13 08:02:56
    赞同 1 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载