• git rebase合并冗余提交记录


    操作过程

    一、新建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提交记录会以一种时间线的方式保存,看起来比较直观清晰。

  • 相关阅读:
    垃圾图像识别易语言代码
    网络编程 day02 (linux) send recv bing listen accept 函数的 知识
    git的详细使用
    一篇案例读懂国央企如何实现数字化管控
    Docker 镜像
    js遮盖层下面不能滑动
    SpringBoot如何缓存方法返回值?
    Chapter9 : De Novo Molecular Design with Chemical Language Models
    Flask实现简单的首页登录注销逻辑
    【C++】深拷贝和浅拷贝 ② ( 默认拷贝构造函数是浅拷贝 | 代码示例 - 浅拷贝造成的问题 )
  • 原文地址:https://blog.csdn.net/xinqing5130/article/details/126837622