logo头像

学如逆水行舟,不进则退!!!

文章目录

github上传了隐私数据怎么办

本文于914天之前发表,文中内容可能已经过时。

前言

  • 心血来潮准备将自己的项目开源出去,上传github后发现被攻击了。原因是因为自己的配置文件也误操作上传到github了。别人就通过配置文件发现你的账号信息了。
  • 针对已经上传了的文件,即使我们改过来了git提交历史里还是有我们的信息的。那么该如何操作呢?

BFG

  • 点我下载
    • 官网的介绍就是repo-cleaner,仓库清洁工。她的功能就是清楚我们的文件的提交历史。让钻漏洞的人无法追踪记录。

image-20220105113119083

使用说明

  • 关于BFG的使用很简单的,我们只需要先将待去除的仓库拉取下来

git clone --mirror git-repo

  • 关于mirror 大家可能了解比较少,她是对仓库的一次完整复制,但是并不是对源文件的100%展现。

移除大文件

java -jar bfg.jar --strip-blobs-bigger-than 100M xxxx.git

移除指定文件

java -jar bfg.jar --delete-files application.yml xxx.git

后续处理

image-20220105113604442

  • 我们能够看出来有个仓库的文件。
cd three-party.git
  • 然后执行如下
git reflog expire --expire=now --all && git gc --prune=now --aggressive
  • 最终git push

image-20220105114246156

案列

删除所有id_rsa ,id_dsa

$ bfg --delete-files id_{dsa,rsa}  my-repo.git

移除所有大于50M文件

$ bfg --strip-blobs-bigger-than 50M  my-repo.git

移除仓库中所有出现密码的地方

$ bfg --replace-text passwords.txt  my-repo.git

从其他版本控制中迁移过来的时候会出现问题,移除git关键词

$ bfg --delete-folders .git --delete-files .git  --no-blob-protection  my-repo.git
上一篇
坚持原创技术分享,您的支持将鼓励我继续创作!

评论系统未开启,无法评论!