Git 如何清理敏感文本

有时候我们会在属性文件中添加数据库的连接参数等。

但是在提交的时候不小心将这些敏感连接参数和密码也提交到服务器上了。

虽然很多公司都有防火墙只能内部访问,但是还是非常不安全的。

这时候你需要一个 BFG Repo-Cleaner 这个工具了。

这个工具主要用于清理仓库中的敏感文本包括提交历史记录中的,同时也一并将历史记录清理。

下载

下载地址为:BFG Repo-Cleaner by rtyley ,你会下载一个 jar 的包。

假设我们需要清理仓库名称为:rets-io-client,你首先需要将这个仓库克隆到本地。

然后把下载的包放在和这个仓库同级的目录中。

假设我们的仓库地址为:D:\WorkDir\USRealEstate\Source-Code\rets-io-client

那么你可以将这个包放在:D:\WorkDir\USRealEstate\Source-Code 目录下面。

同时在 D:\WorkDir\USRealEstate\Source-Code 目录下面创建一个 passwords.txt 文件

运行命令

在控制台中运行下面的命令:

java -jar bfg-1.14.0.jar --replace-text passwords.txt rets-io-client

将你需要替换的字符串放到 passwords.txt 文件中。

例如我们需要替换的密码为 jfnsV4yHsDYaX4x9 那么你需要将这个字符串添加到 passwords.txt 后再执行上面的命令。

 

 

运行后的结果如上图的内容。

如果你有多个字符串需要替换的话,可以重复上面的操作。

在完成上面的所有替换后,进入仓库分别执行下面的 2 条 git 命令。

git reflog expire --expire=now --all

git gc --prune=now --aggressive

如果一切都没有问题的话,再运行 git push 将修改推送到远程仓库中。

此时再查看你的提交记录,所有敏感字符串应该都被替换掉了。

 

 

在提交历史中的字符串也会被替换成不可见的字符了。

 

https://www.ossez.com/t/git/13822

posted @   huyuchengus  阅读(48)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
历史上的今天:
2020-12-01 GitHub 如何为项目设置许可证
2020-12-01 GitHub 如何让你的提交显示被校验
2020-12-01 如何在 Windows 上创建一个新的 GPG key
2018-12-01 Confluence 6 空间标识
2018-12-01 Confluence 6 从一个模板中创建一个空间
2018-12-01 从早期 Spring Boot 版本升级
2018-12-01 安装 Spring Boot CLI
点击右上角即可分享
微信分享提示