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. 定期审查提交记录。
### 解决IntelliJ IDEA 2023版本Git提交时提示Specify commit message的问题 在使用 IntelliJ IDEA 2023 版本进行 Git 提交时,如果遇到提示 `Specify commit message` 的问题,这通常是因为在提交时未提供必要的提交信息。以下是针对该问题的详细解决方案[^4]。 在 IntelliJ IDEA 中,提交代码到 Git 仓库需要明确指定提交信息(commit message)。如果未填写提交信息,IDE 将阻止提交操作,并提示用户指定消息。具体解决方法如下: 1. 打开 IntelliJ IDEA 的 **Version Control** 工具窗口。 2. 在工具窗口中选择需要提交的文件或更改内容。 3. 在提交区域的文本框中输入清晰且描述性的提交信息。例如,可以写上类似“Add initial project structure”或“This is my first commit”的信息[^4]。 4. 点击 **Commit** 按钮完成提交操作。 此外,确保本地分支已正确关联到远程仓库分支。如果出现类似 `error: src refspec master does not match any` 的错误,可能是由于本地分支尚未创建或未正确初始化导致。此时可以尝试以下命令手动创建并推送分支[^1]: ```bash git branch main # 创建名为 main 的分支(根据实际需求调整分支名) git checkout main # 切换到 main 分支 git push -u origin main # 将本地分支推送到远程仓库 ``` 如果仍然存在问题,建议检查当前 Git 配置是否正确。可以通过以下命令查看和设置全局用户名及邮箱地址[^3]: ```bash git config --global user.name "Your Name" git config --global user.email "your.email@example.com" git config --list # 查看当前配置 ``` 最后,确认 IntelliJ IDEAGit 插件已启用,并且其版本与系统中安装的 Git 版本兼容。可以通过以下命令检查 Git 版本: ```bash git --version ``` #### 注意事项 - 提交信息应尽可能简洁明了,便于团队成员理解每次提交的具体改动内容。 - 如果使用的是 GitHub 或 GitLab 等远程仓库服务,请确保已正确配置 SSH 密钥或访问令牌[^2]。
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值