一个repo通常是由一个team中的多个人共同维护,如果需要增加新feature,那么就是一个feature分支了。由于开发中各种修改,本feature分支多次commit。最后提交master后,会看到乱七八糟的所有增量修改历史。其实对别人来说,我们的改动应该就是增加或者删除,给别人看开发过程的增量反而太乱。于是我们可以将feature分支的提交合并后然后再merge到主干这样看起来就清爽多了。
rebase的作用简要概括为:可以对某一段线性提交历史进行编辑、删除、复制、粘贴;因此,合理使用rebase命令可以使我们的提交历史干净、简洁!
但是需要注意的是:
不要通过rebase对任何已经提交到公共仓库中的commit进行修改(你自己一个人玩的分支除外)
新建一个repo
rebase-test
;新建开发分支
dev
;在开发分支是
commit
了三次然后
merge
到
master
分支;然后
git log
或者
git log --oneline
;可以发现
dev
分支上的每次
commit
都体现到了
master
上