Git回退代码到某次commit的实现方法
作者:门卫向大爷 发布时间:2022-07-09 15:08:26
前言
工作中,Git的使用越来越频繁。。除了最常用的clone
,add
,commit
,push
,pull
等命令;还有回退命令reset
。这一篇博客就记录一下该回退命令的简单使用。
场景
因为公司开发过程中,处理订单,限时购买等业务时,都是用的阿里云的消息队列MQ实现的。或者是两个系统之间的交互,同步信息,如用户在支付系统A
下了一个订单(支付成功),这个时候支付系统A
除了处理订单,还有向库存系统B
发送一个消息,告知库存系统B
要减少下单商品的库存。
我本地跑项目的时候,如果不注释掉 *
,测试服上的消息也可能会发送到我本地,导致消息丢失。
然后~~我就把本地的 * 那一段代码注释掉,方便测试人员在测试服上进行测试。注释掉代码如下图:
哈哈~~注释掉后,提交的时候,被我一起提交了!真是尴尬呢!测试人员说出bug了!
一看代码提交历史~~消息 * 被我注释掉了。这个锅我背!(笑哭)
解决问题
哎呀。。。上面说的好像跟这篇文章要说的不太对的上。
其实是开发中,我不小心把不该提交的代码提交到了本地,例如TaskListener
这个类,改了之后,不能提交,一不小心被我commit到了本地(还没有推送到远程)。
有可能已经commit了多次到本地。
1. 先查看commit日志 执行下面命令
git log
2. 回滚、取消之前的提交
这里我们假设应该回滚到239afed0857cc2e77c17c01014077808619af64d
这个版本,及这个版本及之后的commit全部取消。
git reset --hard commit_id
//退到/进到 指定commit的sha码 commit_id:239afed0857cc2e77c17c01014077808619af64d
3.ok,可以重新提交了
git commit a.txt -m "重新提交"
// 记得不要提交不想提交的文件哦
IDEA RESET
也可以直接使用IDEA的Reset Head
功能,先通过git log
得到要回退的commit_id
,再进行下面截图的操作。可以先validate一下哦,看通过commit_id
能不能找到这一次提交。
总结
开发过程中,总是会不小心提交一些不能提交的文件。。如果你开发用的IDEA,可以看看IDEA的这个功能—实用,再也不用担心提交错了。
来源:https://blog.csdn.net/qq_22638399/article/details/80847205
猜你喜欢
- 本文实例讲述了Python数据类型之List列表。分享给大家供大家参考,具体如下:list列表1.概述:通过之前的学习,我们知道变量可以存储
- Access数据库,同时操作大量记录(9500条以上)时报错。错误提示:Microsoft JET Database Engine 错误 &
- 我见朋友可以把数据库的记录显示到列表框里去,挺实用,也想做一个。怎么做啊?这简单,代码和说明如下:dblist.asp<html>
- 我为 Compose 写了一个波浪效果的进度加载库,API 的设计上符合 Compose 的开发规范,使用非常简便。1. 使用方式在 roo
- python中安装包的方式有很多种:源码包:python setup.py install在线安装:pip install 包名(linux
- linux平台及windows平台mysql重启方 * inux下重启MySQL的正确方法:1、通过rpm包安装的MySQLservice m
- 本文实例讲述了PHP日志LOG类定义与用法。分享给大家供大家参考,具体如下:<?php/*** PHP log 类 */class C
- 很多小伙伴都不会在家里或者办公室安装网络摄像头或监视摄像头。但是有时,大家又希望能够随时随地观看视频直播。大多数人会选择使用IP摄像机(In
- 内容摘要:在像网站首页这样的资源比较集中的页面中,那些栏目最经常被用户点击?居左居右对广告的点击率的影响是什么?“一切用数字说话”:以上问题
- 前言学完语法和正在学习语法的时候,我们可以在空闲的时候,写几个简单的小项目,今天我们就用最基础的语法看两个实战语法练习猜数字游戏项目游戏说明
- Python是一种广泛使用的编程语言,特别是在数据分析、机器学习和人工智能领域。在Python中,字符串是一个非常重要的数据类型,可用来存储
- 现在的高手真是越来越多,我刚发现一个版主兄竟然在不支持数据库的ISP免费主页上使用数据库,套用QQ聊天的一句话就是:Faint!明明人家IS
- 基本上快被这个问题搞疯了,症状如下症状描述:在ie下(6或7,8没有试过)当出现中英文混排,都采用默认字体时,并使用 li 列表做float
- 前言最近空闲的时候看到了之前就关注的一个小站http://teahour.fm/,一直想把这里的音频都听一遍,可转眼间怎么着也有两年了,却什
- 看到类似__slots__这种形如__xxx__的变量或者函数名就要注意,这些在Python中是有特殊用途的。__slots__我们已经知道
- 在来回切换中英文输入法的时候连按两下shift总是会蹦出来全局搜索框真的很是麻烦,现在是把这个框给禁用掉1.按ctrl+shift+a,弹出
- #coding:utf8import reimport urllibdef getHTML(url):
- 关于__dict__和dir()的区别和作用请参考这篇文章:基于Python __dict__与dir()的区别详解说下我当时遇到的问题:c
- 排序分为两类,比较类排序和非比较类排序,比较类排序通过比较来决定元素间的相对次序,其时间复杂度不能突破O(nlogn);非比较类排序可以突破
- 最近在做一个程序正好需要用到此方面,在网上找到过相应的程序,但用起来都非常恶,于是乎只好自己实现一个了。 首先实现两个函数用来操作光标: