如何删除git某条commit中的敏感信息

1,575 阅读1分钟
起因

在一个仓库中加了一些敏感的域名和接口信息,有时候在开发的时候不注意把敏感信息commit了,即使在之后有意识的把账号密码等删除,但是在push到github上之后,还是可以在commit信息中找到之前被删除的敏感信息,这里记录下如何永久删除之前不小心带到commit中的敏感信息,具体可以参考 从仓库中删除敏感数据

操作
  1. 安装bfg, bgf是由开发者实现用来清除git大文件,敏感信息的一个工具

    brew install bfg
    
  2. 删除敏感信息,bgf提供了文本级别,文件级别和目录级别的操作,具体可以bgf --help打出来看看

    bgf --delete-folders `要删除的文件目录` `git 仓库`
    
  3. bfg 跑完之后

    git reflog expire --expire=now --all && git gc --prune=now --aggressive
    
  4. 强行推到仓库即可

    git push -f