zoukankan      html  css  js  c++  java
  • 分布式版本控制系统Git-----7.Git 使用git rebase合并多次commit

    将多次commit合并,只保留一次提交历史。

    PS:在我练习的时候,将一个文件的代码做了多次修改,而且每次修改都给提交了,这几次改动的目的都一样,比如说修改RADEME.md,但是每次改动的只是一个小小的代码,但是提交历史上的显示看着会很乱,所以需要合并之前的多次提交历史。

    1.首先使用git log查看一下提交历史【--oneline作用是将每个提交放在一行显示】

    这样在git中看到的是4次提交(更改txt),有点冗余,需要做的是将4commit合并为一次

    2. git 压缩  git rebase -i HEAD~5【这里也可以写为4,如果是4的话,下面修改参数的时候最上面那条也得修改】

    该命令执行后,会弹出一个编辑窗口,5次提交的commit倒序排列,最上面的是最早的提交,最下面的是最近一次提交。

    【未修改的编辑窗口我没截图,只截了修改了的图,图在下面】

    修改第2-4行的第一个单词picksquash(也可以改为简写"s"),当然看一下里面的注释就理解含义了。

    然后保存退出,git会压缩提交历史,如果有冲突,需要修改,修改的时候要注意,保留最新的历史,不然我们的修改就丢弃了。

    【最上面那条记录的不能动(因为后面的提交都是基于其上面提交来的)

    修改以后要记得敲下面的命令:

    git add . 

    git rebase --continue  

    如果你想放弃这次压缩的话,执行以下命令:

    git rebase --abort

    如果没有冲突,或者冲突已经解决,则会出现如下的编辑窗口:

     在这可以将几次的提交说明删了,只留一个

    只留着这一条信息。 井号#开头的是注释,不用管。

    3.再次git log查看一下提交历。。最上面那一条就是刚刚合并的。合并成功了。

    作者:有梦想的乌龟·
  • 相关阅读:
    canvas学习-----1px线条模糊问题
    canvas学习-----画直线
    关于开发的一些流程和个人理解
    vue+vue-cli+vuex+vrouter 开发学习和总结
    mac下配置Apache虚拟域名方案,以及遇到的坑
    添加js,css 版本号?v= hash
    webstorm 格式化代码及常用快捷键
    vue+webpack 遇到的问题总结
    vue.js的devtools安装
    Mongodb 新版配置文件详解
  • 原文地址:https://www.cnblogs.com/nlbnick/p/6115183.html
Copyright © 2011-2022 走看看