打赏

git rebase git merge

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:保留历史提交

posted @ 2019-05-05 08:45  futureme  阅读(142)  评论(0编辑  收藏  举报