rebase应用场景
假设我们现在手里有个需求,需要五天的时间开发完成。但不能等到五天之后一次性提交,如果一次性提交,中间可能要恢复到某个版本,就没有办法了,所以我们一天commit一次,当第五天用git log查看时如下
那我们可不可以把提交记录合并一下呢,当然可以,git给我们提供了git rebase方法
rebase有两种使用方法
第一种使用版本号
# git rebase -i 810657ae78dafe248cd629df07bd2a6e9684781a
上面我们使用v2的版本号,表示将v2和它上面的版本号合并(v2,v3,v4)
第二种使用HEAD
# git rebase -i HEAD~3
这种和第一种一样,表示将最新的三次进行合并
回车之后进入下面的页面
我们将v3和v4的pick改为s,表示将v4的版本和它的上一个进行合并,也就是v4和v3合并,因为v3也是s,所以将v3和它的上一个(v2)合并
保存退出会进入如下的页面
这个页面是让我们合并之后添加个类似于合并说明之类的东西。因为v2,v3,v4都是我们的提交记录,git都给我们显示在这了,我们可以删除自己写
保存退出后在使用git log查看一下
这样就将我们的版本提交进行了合并
注意:假设我们的v2版本已经提交到github上了,合并的时候最好不要合并v2,只合并v3和v4就可以了,如果把v2也合并,本地的和github上的就不一致了,这样会产生一些不必要的麻烦。