You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用BFG Repo Cleaner清除Git标签中的敏感信息历史

清除Git标签历史中的敏感信息(使用BFG Repo Cleaner)

BFG默认不会修改标签指向的历史提交,所以要加上特定参数让它处理标签,具体步骤如下:

  • 先按官方步骤克隆仓库的镜像版本:
    git clone --mirror git://example.com/your-repo.git

  • 运行BFG时添加--tags参数,这个参数会让BFG更新所有标签,将它们指向清理敏感信息后的新提交。比如:

    • 要删除包含敏感信息的文件:
      java -jar bfg.jar --delete-files secret-info.txt --tags your-repo.git
    • 要替换历史中的敏感文本(比如密码):
      java -jar bfg.jar --replace-text sensitive-strings.txt --tags your-repo.git
  • 进入镜像仓库目录,执行Git的最终清理操作:

    cd your-repo.git
    git reflog expire --expire=now --all
    git gc --prune=now --aggressive
    
  • 最后将清理后的仓库推回远程:
    git push

注意事项

  • 仓库历史被重写后,所有协作成员都需要重新克隆仓库,旧的本地仓库不能再向远程推送。
  • 如果你的标签是GPG签名的,BFG会移除签名(因为标签指向的提交已变更),之后需要重新对标签进行签名。

内容的提问来源于stack exchange,提问作者Varun

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 01:09:29