如何从 GitHub 永久删除泄露的 .env 文件...

2025-06-09

如何从 GitHub 永久删除泄露的 .env 文件...

哦哦哦……

好吧,我们没有时间浪费了,你做了一件不可思议的事,这真是个新手举动,但我们必须尽快解决!我就不多说了,直接切入正题。接下来我们会怎么做……


快速摘要:

  • 删除 .env 并提交删除。
  • 使用 filter-branch 从历史记录中删除文件。
  • 强制推动改变。
  • 清理本地存储库。

1. 删除 .env 文件并提交

  • 首先,从存储库中删除 .env 文件并提交更改:
bash
Copy code
git rm --cached .env
echo ".env" >> .gitignore
git add .gitignore
git commit -m "Remove .env file and add to .gitignore"
Enter fullscreen mode Exit fullscreen mode

2. 使用 filter-branch 从历史记录中删除 .env 文件

  • 使用 Git 的 filter-branch 从整个历史记录中删除 .env 文件:
bash
Copy code
git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch .env' --prune-empty --tag-name-filter cat -- --all
Enter fullscreen mode Exit fullscreen mode

3.强制推送更改

  • 运行 filter-branch 后,您需要强制将更改推送到远程存储库:
bash
Copy code
git push --force --all
git push --force --tags
Enter fullscreen mode Exit fullscreen mode

4.清理本地存储库

  • 最后,清理本地存储库以删除旧的引用:
bash
Copy code
rm -rf .git/refs/original/
git reflog expire --expire=now --all
git gc --prune=now --aggressive
Enter fullscreen mode Exit fullscreen mode

5.撤销所有泄露的凭证

  • 与任何方法一样,如果您的 .env 文件包含敏感信息,请立即撤销并重新生成这些凭据。


😅 你成功了!希望没人看到。给自己鼓鼓劲,千万别跳过第五步。你需要撤销访问权限并重新生成新的凭证,以确保你不会被黑客入侵。我已经警告过你了……

好的,就这样,再见!

致谢:

作者:👩🏽‍💻 Kodebae
给我买一个☕️:(https://www.buymeacoffee.com/karmendurbin
网站:(https://kodebae.github.io/kodebae-app/
X:(https://twitter.com/karmen_durbin

鏂囩珷鏉yu簮锛�https://dev.to/kodebae/how-to-remove-a-leaked-env-file-from-github-permanently-3lei
PREV
GIT 后端(幕后)
NEXT
💭 如何从 Go 后端向前端发送清晰漂亮的错误消息?