前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >删除 Git/GitHub 中的敏感数据

删除 Git/GitHub 中的敏感数据

作者头像
idealclover
发布2020-03-07 16:59:34
1.4K0
发布2020-03-07 16:59:34
举报

今天整理之前的 GitHub 项目,发现自己的一个项目不小心把服务器密钥暴露出来了。幸好是个 private 的库。就着手准备把这个文件删除。

但是在 Git 里删文件似乎不是个容易的事情——由于 Git 会保留历史与版本回溯,所以需要将需要删除的文件在之前的版本中也一并删除掉w

据说正常来讲需要使用 git filter-branch 命令,但咱也不是 git 大佬,接触新命令也挺陌生的,而且据说这个命令一来繁琐,二来当需要修改的文件较大/较多时,执行时间堪忧。

好在有一个叫做 BFG 的工具,提供了一种更快、更简单的 git filter-branch 替代方法,用于删除不需要的数据。简单踩了一下坑,做了一下步骤记录。

1. 安装 BFG

2. 删除文件

需要先将需要删除的文件进行删除并在本地进行一次 commit,才能在 BFG 中对文件进行删除。否则会提示 These are your protected commits, and so their contents will NOT be altered 而无法彻底清除。

3. 运行 BFG

万事俱备,准备删除w

删除文件的命令:

代码语言:javascript
复制
java -jar bfg的路径/bfg-1.13.0.jar --delete-files 需要删除的文件

删除文件夹的命令:

代码语言:javascript
复制
java -jar bfg的路径/bfg-1.13.0.jar --delete-folders 需要删除的文件夹

4. commit 并 push 到远端

这里由于删除文件更改了之前的提交历史,所以必须 force push

代码语言:javascript
复制
git push --force

之后就可以去 GitHub 上检查一下文件是否删完了w

5. 添加 .gitignore

最后不要好了忘了伤疤忘了疼呦~ 记得把相关文件添加到 .gitignore 里w

用 Git 还是要谨慎一点哦

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 安装 BFG
  • 2. 删除文件
  • 3. 运行 BFG
  • 4. commit 并 push 到远端
  • 5. 添加 .gitignore
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档