[GIT] 如何删除git上保存的文件(包含历史文件)
如何删除分支上的文件(包含历史文件)
- git 采用增量添加,一旦提交的文件将会被永久的保存在节点中,仅删除当前节点的敏感信息是不够的
references: 从仓库中删除敏感数据 - GitHub Docs
- BFG
bfg --delete-files ${yourfile_name}
优点:命令简单
缺点:需要额外安装jre
- 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:数据删除需谨慎❤