I have a couple of files that are in the repo and also in .gitignore.
I would like these files to be removed from the repo but not be deleted from my production ser
AFAIK, there is no way to mark a filepath with a "stop tracking this but keep existing version" flag.
You will need to take one manual action when deploying the first version that includes deleting the file.
Something like :
cp file file.prod
git pull
mv file.prod file
You need git filter-branch first, then ask everybody to rebase branches created off of your old history.
Refer to: https://help.github.com/articles/remove-sensitive-data/
This is complex, and might cause issue, so next time be careful so not to get there.
If you can't do that due to some reason, then need to wait until time machine invented :)