如果使用git,相信大家比较多的使用merge,对于rebase则少有陌生。相信刚使用git不久的同学会有一个困惑,经常使用merge会造成破窗效应,查阅log时会掺杂了大量无用的小提交,起初也对此习以为常,毕竟svn就是这样。
使用rebase其中的一个好处就是能够将多个commit合并为一次提交,但是网络上比较多的都是基于命令行,今天记录一下总结的基于小乌龟Git的merge/rebase提交管理流程。

理解git中上游下游概念

上游下游是一种相对概念,相对于remote/master,master就是下游。而相对于master分支,用于功能开发的dev分支就是下游。
总体的原则是,是下游分支(dev)与上游分支(master)合并方式使用rebase,并且rebase之前合并commit,来确保下游分支进度在上游分支之前,合并以及冲突解决在下游中解决。因此上游分支(master)使用merge方式同下游分支进行合并

正式开始

  1. 初始化版本库,添加1.txt,创建并切换至dev分支
    在这里插入图片描述
  2. 继续开发,master提交1次,dev提交2次
    在这里插入图片描述
  3. 从master中更新合并
    • dev分支压缩commit,这样做有两个好处:整理commit,减少之后rebase的合并次数
      在这里插入图片描述
    • 使用rebase从master进行合并,解决合并冲突以后,分支树变成一条直线
      在这里插入图片描述
    • dev更新合并完成
  4. 切换至master分支,并使用merge合并dev
    在这里插入图片描述
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐