Это можно сделать только полностью переписав всю историю:
будут изменены все хэши во всех коммитах и во всех ветках. Всем разработчикам надо будет заново вычекать все нужные ветки.
Если тебя это не пугает, то:
git filter-branch --index-filter "git rm --cached --ignore-unmatch файл" HEAD
В дальнейшем файл лучше не хранить в системе контроля версий.
Если же очень хочется - придумать обходной вариант. Например (навскидку) использовать для файла git submodules и хранить его в отдельном проекте, в коем при каждом обновлении тупо удалять предыдущую ветку и создавать новую. В основной же проект добавить хук, который будет каждый раз с нуля вычекивать этот submodule.