前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Git 如何清理敏感文本

Git 如何清理敏感文本

作者头像
HoneyMoose
发布2022-01-11 15:41:20
7400
发布2022-01-11 15:41:20
举报
文章被收录于专栏:CWIKIUSCWIKIUS

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

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

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

这时候你需要一个 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 后再执行上面的命令。

2021-11-30_10-05-47
2021-11-30_10-05-47

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

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

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

git reflog expire --expire=now --all

git gc --prune=now --aggressive

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

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

2021-11-30_10-38-50
2021-11-30_10-38-50

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

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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021/12/01 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 下载
  • 运行命令
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档