.env 文件,全称 environment file,中文翻译为环境配置文件,是一种用于存储应用环境变量的文本文件。它通常位于项目的根目录,不随代码一同提交到版本控制系统(如 Git)中。
首先,从你的仓库中删除 .env 文件并提交更改:
git rm --cached .env
echo ".env" >> .gitignore
git add .gitignore
git commit -m "Remove .env file and add to .gitignore"
使用 Git 的 filter-branch 从整个历史记录中删除 .env 文件:
git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch .env' --prune-empty --tag-name-filter cat -- --all
运行 filter-branch 后,你需要强制推送更改到远程仓库:
git push --force --all
git push --force --tags
最后,清理本地仓库以删除旧的引用:
rm -rf .git/refs/original/
git reflog expire --expire=now --all
git gc --prune=now --aggressive
和任何方法一样,如果你的 .env 文件包含敏感信息,立即撤销并重新生成这些凭证,以确保安全。
How to remove a leaked .env file from GitHub permanently… - DEV Community https://dev.to/kodebae/how-to-remove-a-leaked-env-file-from-github-permanently-3lei