間違ってパスワードを書いたファイルをGitHubにPushしてしまった場合、対象のファイルを削除しても commit 履歴には残ってしまっている。 これをコミットした履歴ごと削除するにはどうしたらいいか。 対応する方法を探していたら以下の公式のヘルプにまとまっていた。 Remove sensitive data 手順 方法としてはgit filter-branchで歴史をばっさりと書き換えて--forceオプションをつけてpushするようだ。 例えば Rakefile にパスワードを書いたまま誤ってGitHubにpushしてしまった場合は以下のようにする。 1 2 3 % git filter-branch --index-filter 'git rm --cached --ignore-unmatch Rakefile' \ --prune-empty --tag-name-filter