清除 GitHub 历史记录的隐私信息

清理 github 敏感信息

有的时候我们在提交到github上的内容不小心含有敏感代码,比如密码,公司的服务器IP等。这个时候就要通过一些手段清除这些信息。

GitHub官方方案比较码放,所以推荐使用 BFG Repo-Cleaner ,更加简单、易操作,但它可以修改所有的提交记录,也要小心使用。

下面通过例子演示如何清理敏感信息

背景

仓库名:Space

泄露信息的文件的文本内容

conf={
    'password': '1234567'
    'SCKEY': '3.141592653'
}

目标:需要将 1234567 和 3.141592653 清除

准备工作

  1. 先做好备份!!!

  2. 下载好BFG工具后重命名为 bfg.jar

  3. 打开本地仓库的父级文件夹,并将 bfg.jar 复制到该文件夹中

  4. 创建 passwords.txt 文件,将需要抹除的信息填入,一条信息一行。本例中填:

    1234567
    3.141592653
    

清除步骤

  1. 在父级文件夹唤起 cmd 输入命令: java -jar bfg.jar --replace-text passwords.txt Space
  2. 在仓库的文件夹唤起 cmd 输入命令:git reflog expire --expire=now --all && git gc --prune=now --aggressive
  3. 强制更新到仓库(会覆盖原文件):git push -f <origin> <branch>

Tips:

branch 可以通过命令 git branch -a 查看,带 *即为当前的分支

结果

conf={
    'password': ''
    'SCKEY': ''
}
posted @ 2022-06-10 17:00  morning-start  阅读(199)  评论(0编辑  收藏  举报