Эти команды работали в моем случае:
git filter-branch --force --index-filter 'git rm --cached -r --ignore-unmatch oops.iso' --prune-empty --tag-name-filter cat -- --all
rm -rf .git/refs/original/
git reflog expire --expire=now --all
git gc --prune=now
git gc --aggressive --prune=now
Это немного отличается от указанных выше версий.
Для тех, кому нужно нажать это на github / bitbucket (только я испытал это с битбакетом):
# WARNING!!!
# this will rewrite completely your bitbucket refs
# will delete all branches that you didn't have in your local
git push --all --prune --force
# Once you pushed, all your teammates need to clone repository again
# git pull will not work
Я обнаружил, что это потому, что я экспортировал несколько функций как prepare
Этот пиар решил мою проблему.