コミット済みの.envを.gitignoreは消せない──git rm --cachedと履歴の後始末

zenn · 2026-07-10

この記事で分かること

コミット済みの.envファイルを.gitignoreで無視できない問題を、git rm --cachedで解決する手順を解説する。具体的には、キャッシュ削除後の履歴整理方法と、既存リポジトリでの注意点が実用的。

詳細要約

すでにGitで追跡されている`.env`ファイルを`.gitignore`に追加しても無視されないため、`git rm --cached`で管理対象から外し、さらにコミット履歴に残った機密情報は`git filter-branch`やBFG Repo-Cleanerで削除する必要がある。実際の手順としては、まず`git rm --cached .env`を実行してステージングと追跡を解除し、その状態で`.gitignore`に`.env`を追記してコミットする。ただし、過去のコミットに残った履歴は別途消去しないとリポジトリを公開した際に漏洩リスクが残るため、履歴書き換えツールの使用を検討する。

関連ニュース