* d9eeb1a - (experiment) <- c3‘ * 1b4c6d6 - (master) <- c4 * 972628d?可以发现c3的hash code从
66c417b
变到了d9eeb1a
。
?
在这之后,我们只需要在master
上进行一次前向合并(fast-forward merge)
?
$ git checkout master $ git merge experiment?

?
rebase
之后的commit log呈线性,更加清晰。此时如果experiment分支不再被需要,我们可以删除它。
?
$ git branch -d experiment
?
四、何时使用
我们一般只在本地开发的时候rebase
一个自己写出来的branch。
谨记,千万不要rebase一个已经发布到远程git服务器的分支。例如,你如果将分支experiment
发布到了GitHub,那么你就不应该将它rebase
到master
上。因为如果你将它rebase
到master
上,将对其他人造成麻烦。
总结
git rebase
帮助我们避免merge
带来的复杂commit log,允许以线性commit的形式进行分支开发。
更多有关git rebase
的更多用法,见这篇文章。