Githubに間違ってpushした環境変数情報を削除する

公開日時

個人用途で使っているGithubのプライベートリポジトリに間違って環境変数情報をpushしてしまった。

自分しか見ないものなので問題はないけど気持ち悪いので消す方法を調べて対応した。

cd repo
git filter-branch --force --index-filter \
  "git rm --cached --ignore-unmatch ./.env" \
  --prune-empty --tag-name-filter cat -- --all

echo ".env" >> .gitignore
git add .gitignore
git commit -m ".env to .gitignore"

git push origin --force --all
git push origin --force --tags

ドキュメントでは、このあとサポートに連絡してGitHub上でキャッシュされているビューと、プルリクエストでの機密データへの参照を削除するよう依頼するとあったがプライベート用なのでskip。

あとは、このリポジトリを利用している他の端末でも同期を実行。

git fetch
git reset --hard origin/master

git log .env
fatal: ambiguous argument '.env': unknown revision or path not in the working tree.

これで無事に環境変数情報を履歴から削除できた。

参考


Related #tool