git把密钥提交了?不慌,用idea直接删除提交记录!

问题的背景

事情是这样的,我在写一个发送邮件验证码功能时采用了 spring-boot-starter-mail,使用时,需要在application.yml 文件中配置 SMTP 授权码才能发送邮件。

于是把自己邮箱中生成的 SMTP 授权码写到了 yml 中

测试了一下,发现功能没什么问题然后就把代码提交了…

问题的产生

提交了几个功能的代码之后,查看代码提交记录时发现,application.yml 中存在 SMTP 授权码,我想造成这个问题的原因,应该是之前测试完邮件验证码功能之后,由于疏忽没有将其删除掉就把代码提交了…

设想一下,假如这不是授权码而是第三方收费的密钥呢?显然这是对项目来说是不安全的

解决问题的思路与步骤

将代码回退到feat: 完成获取图形验证码接口提交,并删除掉授权码保留后续提交的代码。

1、首先创建一个分支,用于备份


2、回退代码

选择回退到feat: 完成获取图形验证码接口提交
在这里插入图片描述

这里 idea 显示让我们选择回退参数,这里选择软,对应的是git reset --soft撤回已提交的修改内容,保留工作区和暂存区修改的内容,用于修改提交历史(例如合并多个提交)而无需重新添加或修改文件
在这里插入图片描述
注意:不要选择硬,因为硬对应的是git reset --hard丢弃工作区和暂存区所有未提交的修改内容, 用于彻底丢弃修改,直接恢复到某个提交的“干净”状态
这会导致我们丢失feat: 完成获取图形验证码接口提交之前的所有代码!!!

3、删除SMTP授权码

在这里插入图片描述

4、修改之后合并提交

在这里插入图片描述

合并提交之后,再次查看提交记录,发现已经将授权码删除掉了
在这里插入图片描述

总结

本文讲述了如何使用 idea 的 git 图形化功能安全地回退并删除代码中的密钥信息。

通过本例,在以后的开发过程中我们需要注意:

  1. 不要将密钥敏等信息直接写入代码中;
  2. 在提交前检查密钥感敏感信息;
  3. 定期审查提交记录。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值