• 修改commit记录的常用方法


    概述

    在我们日常使用git的过程中难免会出现commit提交有问题的情况,因此我将自己在日常开发过程中常用的修改commit的方法总结如下。

    修改commit历史

    我们假设这样一个场景,程序员小吴创建了一个文本如下所示:
    test

    在没有仔细检查的情况下进行了一次提交:
    第一次提交

    然后此时小吴看到自己原来犯了一个低级错误写成了“1+1=1”,这太尴尬了,马上着手开始修改。

    天若OCR_202005240972907SS

    修改完成之后,此时他就犯迷糊了:“如果直接提交是可以直接修改这个错误,但同时会有commit记录,万一被人发现这个小错误多尴尬。我吴某人一世英名可不能毁于一次commit呀”。此时小吴开始网上搜集资料去解决这个问题,他很容易找到了第一种解决方法。

    在commit时通过添加--amend参数进行修改

    小吴思考之后执行了如下命令:

    git add test.txt
    git commmit --amend -m "第二次正常提交"
    

    amend修改

    此时他通过git log --graph命令查看提交历史,果然第一次提交历史没有了。小吴很开心,继续很happy的写代码,但是写了一段时间之后,发现其实添加空格那次commit操作记录是没必要存在的。如果还是刚才的方法显然没法改此次commit记录。

    因此小吴又走上了艰苦卓越的查找资料之路,功夫不负有心人,小吴终于找到了他想要的解决方法。

    通过git rebase -i 命令将多次提交合并成一次提交

    因此,小吴执行了如下命令

    # HEAD~2表示HEAD前两次的提交,该例子指的是从coomit id为ba9bb257
    # 因为该命令在更改是必须给出想要修改的最近一次提交的父提交作为参数
    # 命令等价于
    # git reabse -i ba9bb257
    git rebase -i HEAD~2
    

    执行结果如下:

    下边注释部分给出的是修改的命令格式写法。

    由于我们是不想要添加一个空格这种commit记录的因此我们需要通过drop策略来删除此次commit历史。

    修改后的内容如下:

    保存后弹出新的界面如下:

    删除“添加空格这一行”,然后保留“增加1+2”这一行。

    保存退出。查看提交记录:

    总结

    本文主要总结了常用的修改commit记录的两种方法,当然可能不太全面。欢迎各位小伙伴补充,谢谢!!

  • 相关阅读:
    【面试题】Round A China New Grad Test 2014总结
    【C++】指针数组和数组指针
    快速排序算法递归和非递归实现
    StringTokenizer的用法
    java实时监测文件夹的变化,允许多用户同时访问,完成文件转移
    java统计当前在线数
    KMP算法的一种实现
    java.io.PrintWriter
    OOAOODOOP
    Java 编程技术中汉字问题的分析及解决
  • 原文地址:https://www.cnblogs.com/goWithHappy/p/change-commit.html
Copyright © 2020-2023  润新知