密碼或大檔不小心推上 Git?用 git-filter-repo 安全清掉歷史
把密碼、API 金鑰或一個幾百 MB 的檔案不小心 commit 進 Git、又推上遠端——這時候光 git rm 沒用,它還躺在歷史裡,任何人 clone 下來都翻得到。要真正清掉,得重寫 Git 歷史。 Git 內建的 filter-branch 能做,但它慢、容易出錯,官方文件自己都標示不建議用了。現在的標準工具是 git-filter-repo。 什麼是 git-filter-repo用 Python 寫的開源工具,專門重寫 Git 歷史,是 filter-branch 的官方推薦替代品。比起 filter-branch,它快上一個量級、命令更直覺,還會自動做安全檢查(例如要求你在乾淨的 clone 上操作)。 安裝123pip install git-filter-repo# 或 Ubuntu/Debiansudo apt install git-filter-repo 情境一:移除意外推送的敏感資料1234# 移除符合 glob 的檔案git filter-repo --path-glob '*config.json' --invert-path...




