GitHubにパスワードを書いたファイルを載せてしまったので消したい
後輩君に教えてもらったのでGitHubをそろそろと使い始めてみているのだが、間違ってパスワードをソース内に書いたファイルをpushしてしまった。慌ててファイルを消しても、commit履歴の方には残っているので、全世界に公開されてしまっている。さて困った、コミット履歴ごと消すにはどうすればいいんだろう。
ということで探し回っていたら、公式サイトのヘルプに書かれていた。
手順としては、git filter-branch で「歴史を書き換え」て、--forceオプションでpushする、ということのようだ。例えばsome_thing.plにパスワードをハードコードしており、それを誤ってそのままGitHub上にpushしてしまって直したい場合は以下のようにすれば良い。
$ git filter-branch --index-filter 'git rm --cached --ignore-unmatch some_thing.pl' \ --prune-empty --tag-name-filter cat -- --all $ git push origin master --force