如何彻底删除GitHub仓库中的敏感文件并清除提交历史?
在GitHub项目中,如果不小心上传了敏感文件(如配置文件、密钥等),仅删除文件并不能完全清除其痕迹,因为文件仍可能存在于历史提交记录中。为彻底删除,可使用`git filter-repo`或`BFG Repo-Cleaner`工具重写提交历史。以`git filter-repo`为例,运行`git filter-repo --invert-paths --path 敏感文件路径`可移除指定文件的所有记录。完成后,强制推送更改至远程仓库(`git push --force`),确保历史记录更新。此外,若敏感信息已泄露,需立即更换相关凭据,避免潜在风险。注意:重写提交历史可能影响协作开发,需提前与团队沟通。