Gitリポジトリの履歴からファイルを完全に削除する

Gitで管理しているリポジトリの全コミット履歴からファイルを完全に削除したい
(そもそもファイルが存在しなかったことにしたい)

最強のオプション: filter-branchを使う

ファイルを歴史から完全に抹殺してしまうには filter-branch の --tree-filter オプションを使う
filter-branch をすべてのブランチで実行するにはコマンドに --all を渡す
git filter-branch --tree-filter 'rm -f [filepath]' -- --all

ディレクトリを削除する場合は上記のコマンドに「-r」オプションを追加
git filter-branch --tree-filter 'rm -rf [directory path]' -- --all

実例

git filter-branch --tree-filter 'rm -f Assets/Photon/PhotonVoice/PhotonVoiceLibs/iOS/libwebrtc-audio.a' -- --all

参考ページ

git-scm.com