git rebase

1. git rebase的意义

首先理解这个rebase,它的意思是re base,翻译过来就是“重新基于”。

意义是:重新整理当前分支的开发线,使其变成基于某个开发节点的开发线。

2. rebase用于并行开发

构造两个分支master和feature,其中feature是在提交点B处从master上拉出的分支

master上有一个新提交M,feature上有两个新提交C和D

此时我们切换到feature分支上,执行rebase命令,相当于是想要把master分支合并到feature分支(这一步的场景就可以类比为我们在自己的分支feature上开发了一段时间了,准备从主干master上拉一下最新改动。模拟了git pull --rebase的情形) 

# 这两条命令等价于git rebase master feature
git checkout feature
git rebase master

下图为变基后的提交节点图,解释一下其工作原理:

  • feature:待变基分支、当前分支
  • master:基分支、目标分支

3. git rebase用于合并提交

开发过程中遇到紧急需求,当前分支的代码需要临时commit,偶尔commit几次,最后要提交远程的时候,就会发现本来只有一个功能模块,却有7 8次commit,想要解决这个问题,执行git rebase -i进入交互模式,可以看到有本地所有的commit记录,想要保留最近两次,那就删除其他的pick行,:wq退出交互模式,依次解决冲突,提交后OK。

参考文献

git rebase详解(图解+最简单示例,一次就懂)-CSDN博客

git rebase (合并代码和整理提交记录)图文详解-CSDN博客

https://juejin.cn/post/7018098150845972516

相关推荐

最近更新

  1. TCP协议是安全的吗?

    2024-06-06 16:38:07       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-06 16:38:07       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-06 16:38:07       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-06 16:38:07       18 阅读

热门阅读

  1. 2024/6/6随笔

    2024-06-06 16:38:07       10 阅读
  2. General API Questions for Full Stack Developer

    2024-06-06 16:38:07       8 阅读
  3. Less的简单总结

    2024-06-06 16:38:07       8 阅读
  4. SpEL表达式使用方法

    2024-06-06 16:38:07       7 阅读
  5. 实例Python对比两个word文档并找出不同

    2024-06-06 16:38:07       9 阅读
  6. eazyexcel生成校验单元格内容的excel文件

    2024-06-06 16:38:07       9 阅读
  7. adam优化器计算过程(tensorflow)

    2024-06-06 16:38:07       9 阅读