[GIT] 如何删除git上保存的文件(包含历史文件)

如何删除分支上的文件(包含历史文件)

  • git 采用增量添加,一旦提交的文件将会被永久的保存在节点中,仅删除当前节点的敏感信息是不够的

references: 从仓库中删除敏感数据 - GitHub Docs

  1. BFG
bfg --delete-files ${yourfile_name}

优点:命令简单

缺点:需要额外安装jre

  1. git fliter-branch 命令
git filter-branch --force --index-filter "git rm --cached --ignore-unmatch PATH-TO-YOUR-FILE-WITH-SENSITIVE-DATA" --prune-empty --tag-name-filter cat -- --all

之后强制推送(注意该操作不可逆)

git push --force
git push --tags --force

优点:无需额外的软件

缺点:太长了(不过对于习惯CC-CV操作来说,不算缺点)

PS:数据删除需谨慎❤

原文地址:https://www.cnblogs.com/minskiter/p/14691824.html