Whatever you committed will never be lost in git.
Just add a new commit which deletes all old files no longer needed for production.
If you ever want to see those files just checkout the old version and you are done.
You can even specify a time:
git co master@{yesterday}
or
git co master@{January}
This will show you all the files at the given time.
If you explicitly want another version of your project with those files deleted, use a new branch, delete the files there and later merge from the other branch to include any changes done there.
git branch -m production
git rm $files
git commit -m 'delete old files'
git push -u origin production
git checkout master
# update project
git commit -am 'introduced cool feature'
git push origin master
git checkout production
git merge master
This way master has all the files for github and production the old files removed. As long as you do not start changing the old files the merge from master to production should cause no conflicts.