🐈
git commit履歴 からもパスワードを削除したい
ファイル中の任意の文字列だけ***削除(見えなく)する
うっかり上げてしまったパスワードをなどの情報を,リポジトリ全体から削除します.
コミット履歴からも削除される強力なツールがあります.
削除後のイメージです
##ユーザー名を隠す
'C:\\Users\\***REMOVED***\\~'
##パスワードを隠す
PASSWORD = ***REMOVED***
※ファイルごと削除もできます.
BFGが便利
BFG Repo-Cleanerというツールです.
公式ページ(https://rtyley.github.io/bfg-repo-cleaner/)
1. ダウンロード方法
こちらの記事が参考になります.(https://yuki10.hatenablog.com/entry/2017/01/14/211430)
ここからJarファイルをダウンロードします(https://rtyley.github.io/bfg-repo-cleaner/)
おそらくMacでも使えると思います.(手元に実行環境がないのですみません...)
2.使用方法 (以下windows)
-
jarをダウンロードする.
-
ダウンロードフォルダにexample.txtを作成
例 example.txtdakgoaklgLDK <-パスワードの文字列 KDFOK <-IDの文字列 ・ <-ほかにも消したい文字列があれば改行して追加していく ・ ・
-
コマンドを実行する
- 任意の文字列を指定して削除
java -jar c:\Users\ユーザー名\Downloads\bfg-1.14.0.jar --no-blob-protection --replace-text example.txt git reflog expire --expire=now --all git gc --prune=now --aggressive
- ファイルごと削除
一番上の行を以下を参考に変更してください。
java -jar bfg-1.14.0.jar --delete-files '*.png'
-
強制プッシュする
git push --force
Discussion