1. git rebase的意义

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

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

2. rebase用于并行开发

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

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

git rebase插图

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

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

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

git rebase插图(1)

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

3. git rebase用于合并提交

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

git rebase插图(2)

参考文献

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

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

http://juejin.cn/post/7018098150845972516

本站无任何商业行为
个人在线分享 » git rebase
E-->