• git revert 简单用法【笔记】


    简介

    在使用git管理代码过程中,很多人应该遇到过一些场景:我已经提交了commit信息,但是我想反悔,不想提交了这个信息,或者公共分支上我提交了commit信息,别人也提交了commit,但是我的commit的代码有些问题,想撤回来不提交。

    这种情况下有很多的方式来解决,无非是操作多少和风险的大小而已,比如:

    • 公共分支上找到不同分支的父节点,reset以后才重新提交,但是当commit信息混合到一起后,你想找都commit信息都困难。

    • 还有一种相对省事的方法你在自己的分支上把不要的都干掉后重新提交,但是如果是上线时候,这样风险也很大。

    • 当然还有其他的一些方式方法

    还有一种相对简单的方式,那就是 revert 方式(反做撤销)。

    git revert基础用法

    基础语法

    git revert -n commit-id
    • 只会反做commit-id对应的内容,然后重新commit一个信息,不会影响其他的commit内容

    反做多个commit-id

    git revert -n commit-idA..commit-idB
    • 反做commit-idA到commit-idB之间的所有commit

    • 注意:使用-n是应为revert后,需要重新提交一个commit信息,然后在推送。如果不使用-n,指令后会弹出编辑器用于编辑提交信息

    冲突的相关操作

    • 在git操作过程中,最不想看到的一种情况就是冲突,但是,冲突就是一个狗皮膏药,永远避免不了,revert也跑不了这个魔咒,那么我们改怎么处理这个情况

    合并冲突后退出

    git revert --abort
    • 当前的操作会回到指令执行之前的样子,相当于啥也没有干,回到原始的状态

    合并后退出,但是保留变化

    git revert --quit
    • 该指令会保留指令执行后的车祸现场

    合并后解决冲突,继续操作

    • 如果遇到冲突可以修改冲突,然后重新提交相关信息

    1. git add .
    2. git commit -m "提交的信息"

    总结

    Git reset和git revert的区别

    • git reset 是回滚到对应的commit-id,相当于是删除了commit-id以后的所有的提交,并且不会产生新的commit-id记录,如果要推送到远程服务器的话,需要强制推送-f

    • git revert 是反做撤销其中的commit-id,然后重新生成一个commit-id。本身不会对其他的提交commit-id产生影响,如果要推送到远程服务器的话,就是普通的操作git push就好了

  • 相关阅读:
    Zotero拓展功能之Zotero Style
    来自领导的指点--1 : 小程序和H5 代理问题
    校园小情书微信小程序,社区小程序前后端开源,校园表白墙交友小程序
    Zookeeper:节点
    电子技术基础(三)__第7章 时序逻辑电路_第7篇之解题方法与步骤
    个人学习记录——MySQL的模糊查询
    HCIA VLAN间通信与三层交换
    19. Spring Boot国际化
    SpringBoot电商项目实战Day9 冒泡排序的优化
    Java版企业电子招标采购系统源码—企业战略布局下的采购寻源
  • 原文地址:https://blog.csdn.net/stephenbruce/article/details/126333090