1) клонируете репу https://gist.github.com/a3d2efe2ce6ca48825ce.git - это bash скрипт позволит вам очистить (выпилить) папку/файла из всей истории(всех комитов) , в крайнем случае можно оставить для последнего релиза. (git_cleanup
2) Клонируете свою репу с ключом --mirror
git clone --mirror git@github.com:<user/repo.git>
3)
bash git_cleanup <repo> -x upload/
4) после того как скрипт найдет все копии и удалит нужно выполнить команды:
cd repo.git git reflog expire --expire=now --all git gc --prune=now --aggressive
, чтобы закрепить изменения
5) после эти изменений у репы измениться remote url, поэтому перед пулом выполните :
git remote set-url origin git://new.url.here git push
Альтернативный вариант :
http://rtyley.github.io/bfg-repo-cleaner