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


猜你喜欢
- SQL Server 2005 远程连接配置TCP/IP属性.Surface Area Configuration –> Databa
- 显示一个字符串的前几个字符,asp中我们一般使用left(str,n)来获取。left有个不足就是处理汉字和英文字符是一样的,没有区分开,这
- 糟糕的SQL查询语句可对整个应用程序的运行产生严重的影响,其不仅消耗掉更多的数据库时间,且它将对其他应用组件产生影响。如同其它学科,优化查询
- 第一招、mysql服务的启动和停止net stop mysqlnet start mysql第二招、登陆mysql语法如下: mysql -
- 一,问题背景作者在用tensorflow做实验时,import tensorflow忽然报错:cannot import name '
- 1.插入数据insert into表名(列名1,列名2,列名..) values(值1,值2,值...); insert into
- 本文主要介绍go语言静态库的编译和使用方法,以windows平台为例,linux平台步骤一样,具体环境如下:>echo %GOPATH
- 相信玩过爬虫的朋友都知道selenium,一个自动化测试的神器工具。写个Python自动化脚本解放双手基本上是常规的操作了,爬虫爬不了的,就
- 引言Requests是Python中一个常用的第三方库,用于向Web服务器发起HTTP请求并获取响应。该库的使用简单,功能强大,被广泛应用于
- ThinkPHP3.1.3版本有一些特性,还是值得关注的,下面来简单说下。1、异常方面的改进新版的ThinkPHP3.1.3重写了异常类Th
- 在现代的 web 框架里面,基本都有实现了依赖注入的功能,可以让我们很方便地对应用的依赖进行管理,同时免去在各个地方 new 对象的麻烦。比
- 本文介绍了jquery在vue脚手架中的使用方式示例,分享给大家,具体如下:1:在各个vue文件中使用<script>impor
- 导言(Introduction)这个提案描述了如何在jQuery的核心库中增加模板支持。更为特别是,这个提案描述了一个新的jQuery方法-
- 目前很多公司业务已经上云,使用了大量的云主机。当前大多数云厂商的云主机公网都是采用的eip,也就是内网和外网使用的同一张网卡,所以流量全部经
- 作为一种常见的数据结构,缓冲区(Buffer)在计算机科学中有着广泛的应用。Go 语言标准库中提供了一个名为 bytes.Buffer 的缓
- 一、Scipy 入门1.1、Scipy 简介及安装官网:http://www.scipy.org/SciPy安装:在C:\Python27\
- 参数strSQL 要导出的SQL查询语句strFields 字段名称列表,如果为空字符,则使用SQL语句中的字段名用法示例:1:export
- 有时候要通过asp代码在数据库中创建表和列,下面的就是这些操作的函数。1.检测表是否存在tbName 检测的表的名称dbTp 数据库的类型1
- 程序二:addforum.php <html> <head> <link&
- 在SQL Server中,TempDB主要负责供下述三类情况使用:内部使用(排序、hash join、