全てのブランチに対してコマンドを実行する

git filter-branch --prune-empty --index-filter \
'git rm --cached --ignore-unmatch password.txt' HEAD --all

参照ログを削除する

git reflog expire --expire=now --all

ガベージコレクションを実行する

git gc --aggressive --prune=now

強制プッシュする

git push --force origin master

ログから無くなってもアクセスはできる

上記の操作を行ってもリモートリポジトリにはログが残ったままになるため、コミットにはアクセスできてしまう。