[译]git rebase

rebase就是重新定义你分支的起点, 分支上的commit将生成对应的新的commit并放在你指定的新的起点commit后, 分支上的老commit将被删除. 

rebase就是将你的分支从一个commit移动到另一个commit作为起点. 

 

用法

git rebase <base>

将base做为你当前分支的新起点, 这个<base>可以是任何一种commit引用(如ID, brand名, tag, HEAD~N).

 

讨论

rebase的主要目的就是保持project history是在一条线上没有分叉的. 例如, 想象下当你的feature branch生成修改后, 你又回过头去修改了的你的master(分叉了):

你有两种方法用来合并feature到master: 直接使用merge或者rebase后再merge. 下图展示第二种方法:

rebase是一个常用的方法, 用来集成上流的change到你的本地仓储. 换句话来说, rebase就像是在说"我想将我的修改base到每个人做的commit之后".

 

例子

posted @ 2015-09-29 23:54  irocker  阅读(712)  评论(0编辑  收藏  举报