うっかり GitHub にプッシュしてしまいそうなものとして、機密情報を含むファイル(API キーやトークンなど)があります。
これらの情報は、GitHub 上で公開されてしまうと、悪用される可能性があるため、特に注意が必要です。
機密情報(API キーやトークンなど)を含むファイルを GitHub に Push してしまった場合、単に GitHub 上で削除しても履歴には残り続けるため、適切な対処が必要です。本ドキュメントでは、誤って Push したブランチを安全に削除し、クリーンな状態で復旧するための手順をまとめます。
例として、以下のような状況を想定しています。
- 危険なブランチ名:old-sensitive-branch
- 安全なブランチ名:safe-recovery
- 機密ファイル名:secret.json
実行手順
流れとしては以下のようになります。
- 現行ブランチのコピー作成 → 安全な作業用の新ブランチを確保するため
- Git のインデックス(追跡情報)からファイルを削除する → 履歴に残さず、今後 Git に含まれないようにするため
- .gitignore に機密ファイルを追加
- GitHub 上の危険なブランチを削除
- ローカルブランチ削除
1. 現行ブランチのコピー作成
2. Git のインデックス(追跡情報)からファイルを削除する
そして .gitignore
の更新
3. GitHub 上の危険なブランチを削除
4. ローカルブランチの削除(任意)
その他の必須セキュリティ対策
- 誤って Push されたキーやトークンは 必ず無効化または再発行 する
.env.local
などに保存されている情報も合わせて更新する
現在の安全状態チェックリスト
項目 | 状態 |
---|---|
クリーンな新ブランチ作成 | ✅ |
危険ブランチの GitHub 上から削除 | ✅ |
機密ファイルの追跡解除 | ✅ |
.gitignore 追加済み | ✅ |
機密情報の再発行 | ⬜ 要対応 |
今後の再発防止策
.env.*
や.cursor/
などローカル専用ディレクトリは.gitignore
で無視する- 機密情報やトークンは Git に含めず、環境変数または Secret 管理ツールで管理する
このドキュメントは、機密情報を誤って Push してしまった際の再発防止と安全なリカバリを目的としてご利用ください。