BLOG

删除不小心推送到github的隐私文件历史记录

犯蠢

由于作者在本地开发的时候喜欢直接在.env.example文件直接修改隐私信息然后复制成.env文件,导致一不注意就将带有隐私信息的example文件被推送到了github,遂迅速寻找解决办法,如下使用 git-filter-repo来完成操作。

教程

  1. 下载 git-filter-repo
# 使用 pip 安装
pip install git-filter-repo

# 或使用 homebrew (macOS)
brew install git-filter-repo

# 或使用 apt (Ubuntu/Debian)
sudo apt install git-filter-repo
  1. 删除.env.example的所有历史记录并检查
git filter-repo --path .env.example --invert-paths
git log --all --full-history -- .env.example
  1. 强制推送所有分支和标签
git remote add origin <your-repo-url>
git push origin --force --all
git push origin --force --tags

之后你可以看到远程repo的记录已经干净

商业转载请联系站长获得授权,非商业转载请注明本文出处及文章链接,您可以自由地在任何媒体以任何形式复制和分发作品,也可以修改和创作,但是分发衍生作品时必须采用相同的许可协议。本文采用 CC BY-NC-SA 4.0 - 非商业性使用 - 相同方式共享 4.0 国际 进行许可。

Comments

Discuss this article here.