Git 彻底清除历史记录

适用场景

  • 误提交密码、密钥、token 等敏感信息

  • 误提交大文件导致仓库臃肿

  • 需要从所有历史提交中移除某些文件

方法一:git filter-repo(推荐)

安装

pip install git-filter-repo

删除指定文件/目录(从所有历史中移除)

git filter-repo --path .env --invert-paths

git filter-repo --path secrets/ --invert-paths

删除多个路径

git filter-repo --path .env --path config/secrets.json --invert-paths

方法二:BFG Repo-Cleaner

下载 bfg.jar(需要 Java)

https://rtyley.github.io/bfg-repo-cleaner/

删除文件

java -jar bfg.jar --delete-files .env

删除目录

java -jar bfg.jar --delete-folders .idea

替换敏感文本(如密码)

echo "mypassword123" > passwords.txt

java -jar bfg.jar --replace-text passwords.txt

清理并强制推送

git reflog expire --expire=now --all

git gc --prune=now --aggressive

git push --force

方法三:git filter-branch(旧方法,较慢)

git filter-branch --force --index-filter \

'git rm --cached --ignore-unmatch .env' \

--prune-empty --tag-name-filter cat -- --all

清理

git reflog expire --expire=now --all

git gc --prune=now --aggressive

推送到远程

强制推送(会覆盖远程历史)

git push origin --force --all

git push origin --force --tags

注意事项

| 事项 | 说明 |

|--------------|-------------------------------------------------------|

| 备份 | 操作前务必备份仓库 |

| 协作影响 | 所有协作者需重新 clone 或 git pull --rebase |

| GitHub 缓存 | 联系 GitHub 支持清除缓存,否则旧提交仍可通过 SHA 访问 |

| 已泄露的密钥 | 立即轮换,重写历史不能撤回已泄露的信息 |

工具对比

| 工具 | 速度 | 易用性 | 推荐场景 |

|-------------------|------|--------|----------------|

| git filter-repo | 快 | 简单 | 首选方案 |

| BFG | 快 | 简单 | 替换敏感文本 |

| git filter-branch | 慢 | 复杂 | 不推荐,已废弃 |

相关推荐
Safeploy安策数据12 分钟前
国密合规怎么落地?从密钥管理到内网安全完整流程
大数据·安全
2601_9600176227 分钟前
饲料添加剂研发PLM选型:解读一半科技流程行业适配能力
大数据
baopixiaoz38 分钟前
BeeQuant × BeeAgent:AI量化新范式
大数据·人工智能·python·区块链
Raas10042 分钟前
AI网关在架构中的位置?MAI Gateway(魔芋企业级AI网关)给出企业级答案
大数据·网络·人工智能·架构·gateway·ai网关·mai gateway
2601_960017621 小时前
油田化学品PLM系统选型:一半科技聚焦配方、工艺、数据管理
大数据·科技
IT毕设实战小研1 小时前
基于大数据的AI应用对就业与收入增长的区域差异分析及可视化
大数据·人工智能·python·随机森林·机器学习·课程设计
user_admin_god1 小时前
一体化数据归集接口详细设计说明
java·大数据·spring boot·后端·spring
美股研究社1 小时前
出海合规战,TEMU先胜“一城”
大数据·人工智能·物联网
qq407855602 小时前
2026 最新鼎捷 vs 轻流:生产管理系统功能对比与选型指南
大数据·人工智能·低代码·制造
AI行业说2 小时前
誉财自动化YC‑18‑M8045线上模板机:四轴柔性缝制技术如何重塑服装产线
大数据·人工智能·自动化·缝纫机器人·模板机