赞
踩
一、新建project:test-rebase-projectt,创建master分支,并提交一个README.MD文件
二、基于master创建新的test分支
三、使用test提交五次,这种重复多次的提交,一般建议将提交记录做合并。
四、合并。因为我们现在一共有6次提交记录,加上初始的提交(添加readme文件),所以如果要合并后5次提交,需要找到第一次提交的commit id。
1、我们可以在Terminal控制台使用git log来查询对应的commit id。
2、复制commit id:96e1563821f8666d9881e9c42e6d76d01f6a51eb。退出git log(按键q退出,和git bash命令一样) ;
3、在Terminal控制台输入 git rebase -i 96e1563821f8666d9881e9c42e6d76d01f6a51eb
注意:这里的编辑页面,记录是按时间正序排列的,也就是最新的记录在底下,最老的记录在上面。
4、编辑交互页面,删除最新的,只保留上面的一条(也可以保留最新的,删除之前的,这里面看你需要)。删除的话,双击按键d,跟vim一样。
5、:wq保存退出
这时候我们看git提交记录已经变成2条了,rebase成功
五、提交代码到远程,这时候直接push会失败,提示需要拉去远程代码,但是这样会回退rebase操作。所以直接使用git push origin test -f提交即可(-f表示强制提交)
最后,我们看一下远程test分支的记录,也是2条记录,操作完成。
git rebase,顾名思义变基,是指将最新某次(多次)代码提交追加到某次提交之后。我们做分支代码合并时也可以使用,它和merge的区别在于,merge会生成一次新的commit,rebase会将代码基于某次之后,追加在其之后。使用rebase的好处是,git提交记录会以一种时间线的方式保存,看起来比较直观清晰。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。