推送后删除敏感数据

  • 本文关键字:敏感数据 删除 git
  • 更新时间 :
  • 英文 :


所以我正在处理一个项目,并添加一个gitignore文件以防止一些敏感数据被包括在内,只是它无法按预期工作,现在我已经推送了它。有没有办法从远程存储库中删除它,这样历史记录中就没有它的证据?

您可以恢复本地的更改

git commit --amend

git reset <last-hash>

然后做

git push -f

但这只能通过完成

如果您:

  1. (知道你在做什么;-(
  2. 在此期间,没有其他人对回购做什么

提示:

要非常小心,在push -f之前,存储库处于您希望的状态,因为由于各种好的原因,更改历史通常是一个很大的禁忌

如果敏感信息是在最近一次提交之前引入的,并且您希望将其从完整的树中删除,我建议使用git BFG。

请参阅:https://help.github.com/articles/removing-sensitive-data-from-a-repository/

如果将敏感数据(如密码或SSH密钥(提交到Git存储库中,则可以将其从历史记录中删除。要从存储库的历史记录中完全删除不需要的文件,可以使用git-filter-branch命令或BFG Repo Cleaner。

此外,https://rtyley.github.io/bfg-repo-cleaner/

BFG是gitfilter分支的一个更简单、更快的替代方案,用于清除git存储库历史中的坏数据>:

  • 删除疯狂的大文件
  • 删除密码、凭据和;其他专用数据

最新更新