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