GitHub で機密ファイルを誤って Push したときの安全な削除・復旧手順

要約
ブランチのコピーを作成し、追跡情報から機密ファイルのキャッシュを削除し.gitignoreを更新し、GitHub 上の危険なブランチを削除。その後ローカルブランチを削除します
意見はこのエリアに表示されます

うっかり GitHub にプッシュしてしまいそうなものとして、機密情報を含むファイル(API キーやトークンなど)があります。

これらの情報は、GitHub 上で公開されてしまうと、悪用される可能性があるため、特に注意が必要です。

機密情報(API キーやトークンなど)を含むファイルを GitHub に Push してしまった場合、単に GitHub 上で削除しても履歴には残り続けるため、適切な対処が必要です。本ドキュメントでは、誤って Push したブランチを安全に削除し、クリーンな状態で復旧するための手順をまとめます。

例として、以下のような状況を想定しています。

  • 危険なブランチ名:old-sensitive-branch
  • 安全なブランチ名:safe-recovery
  • 機密ファイル名:secret.json

実行手順

流れとしては以下のようになります。

  1. 現行ブランチのコピー作成 → 安全な作業用の新ブランチを確保するため
  2. Git のインデックス(追跡情報)からファイルを削除する → 履歴に残さず、今後 Git に含まれないようにするため
  3. .gitignore に機密ファイルを追加
  4. GitHub 上の危険なブランチを削除
  5. ローカルブランチ削除

1. 現行ブランチのコピー作成

2. Git のインデックス(追跡情報)からファイルを削除する

そして .gitignore の更新

3. GitHub 上の危険なブランチを削除

4. ローカルブランチの削除(任意)

その他の必須セキュリティ対策

  • 誤って Push されたキーやトークンは 必ず無効化または再発行 する
  • .env.local などに保存されている情報も合わせて更新する

現在の安全状態チェックリスト

項目状態
クリーンな新ブランチ作成
危険ブランチの GitHub 上から削除
機密ファイルの追跡解除
.gitignore 追加済み
機密情報の再発行⬜ 要対応

今後の再発防止策

  • .env.*.cursor/ などローカル専用ディレクトリは .gitignore で無視する
  • 機密情報やトークンは Git に含めず、環境変数または Secret 管理ツールで管理する

このドキュメントは、機密情報を誤って Push してしまった際の再発防止と安全なリカバリを目的としてご利用ください。

Explore More
関連記事はありません。