这篇文章将会重点介绍一件事情: rebase。
rebase用来做什么
git的rebase是非常常用的一个命令。了解它是做什么之前先看一下一个很熟悉的场景:我们有两个分支:master和feature分支,feature分支不是那种随时”用后即焚”的分支,它会存续一定时间。因为master
同时也会在更新,所以feature需要经常和master的内容进行同步,为了达到这个目的,可以merge一下就OK了,但是git有一种更好的方法来解决这个问题,这种方法就是rebase。而这种操作的一个核心描述则是replay,既然是replay,则不会产生新的comment。
下面通过具体的例子来了解一下这个问题。
当前状态
只有一个master分支,其中只有一个README.md文件
[root@ku8-1 ~]# git clone [email protected]:root/demoprj.git
Cloning into 'demoprj'...
remote: Counting objects: 7, done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 7 (delta 1), reused 0 (delta 0)
Receiving objects: 100% (7/7), done.
Resolving deltas: 100% (1/1), done.
[root@ku8-1 ~]# cd demoprj
[root@ku8-1 demoprj]# git branch
* master
[root@ku8-1 demoprj]#
创建一个名为fea-restapi的分支
[root@ku8-1 demoprj]# git checkout -