Git rebase
使用方法
1. git checkout feature
2. git rebase master feature
相当于git rebase master + git checkout master + git merge feature
使用场景(黄金法则)
1. 清理本地提交历史:
① 私有分支
② 尚未推送或分享给别人的本地分支
2. 美化项目历史
但决不在公共分支上使用
与git merge区别
1. 目的相同:都是把feature代码体现在master上
2. 原理不同:
① rebase:指把feature从分叉开始“剪下来”,接到master上,并“重现”一遍
② merge: 将master分叉开端(即2个分支的公共祖先ancestor)、2个分支的最新指针所在,进行三方合并。实际上是将3个结果合并。
2. 用法不同:
① rebase:一般是从feature来rebase master
② merge:是立足当前分支,拉取别的分支的代码。可以从feature来merge master即拉取最新代码,
也可以从master来merge feature 即合并feature代码
3. 历史不同:
① rebase:丢弃原始提交,形成线性提交历史
② merge:保留历史提交