概要
Git リポジトリに機密情報(例えば、API キーやパスワード)を誤ってコミットしてしまった場合、その履歴を完全に削除することが重要です。BFG Repo-Cleaner は、Git リポジトリの履歴から不要なファイルや機密情報を効率的に削除するためのツールです。本記事では、BFG Repo-Cleaner のインストールから使用方法までを詳しく説明します。
BFG Repo-Cleaner のインストール
まず、BFG Repo-Cleaner をインストールします。以下のコマンドを使用して、公式の Maven リポジトリから JAR ファイルをダウンロードします。
curl -LO https://repo1.maven.org/maven2/com/madgag/bfg-repo-cleaner/1.13.0/bfg-repo-cleaner-1.13.0.jar
Java のインストール
BFG Repo-Cleaner を実行するには Java が必要です。Homebrew を使用して Java をインストールします
brew install openjdk
Java をインストールした後、PATH 環境変数に追加します。
echo 'export PATH="/usr/local/opt/openjdk/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
機密情報の削除
1. 削除したいファイルを指定
以下のコマンドを実行して、.env.development
ファイルをリポジトリの履歴から削除します。
java -jar bfg-repo-cleaner-1.13.0.jar --delete-files .env.development
2. リポジトリのクリーンアップ
BFG Repo-Cleaner の実行後、Git リポジトリをクリーンアップするために以下のコマンドを実行します。
git push origin --force --all
git push origin --force --tags
注意点
- BFG Repo-Cleaner を使用する前に、リポジトリのバックアップを取っておくことをお勧めします。
-
--force
オプションを使用するため、リモートリポジトリの履歴が書き換えられます。チームメンバーと協力して作業を行い、必要に応じてリモートリポジトリの再クローンを行うように伝えましょう。
まとめ
BFG Repo-Cleaner は、Git リポジトリから機密情報を効率的に削除するための強力なツールです。適切に使用することで、セキュリティリスクを低減し、クリーンなリポジトリを維持することができます。
この記事が役に立ったと思われたら、いいねやコメントをお待ちしております。さらに質問がある場合はお気軽にどうぞ!