I\'ve done some searching but either I don\'t understand exactly how this works or I\'m not finding what I need.
I have a production server and I have my local devel
You understand it correctly. You can, however, make copies of these files on the production server, pull the local repo (which will erase the originals), and then restore the files from the copy. After that these files will not be tracked, so no (usual) git operations, including any further pulls, are going to overwrite or remove them.
edit:
Actually the author of the question proposed a much nicer solution, that is using git rm --cached
on the production server, which will remove the files from index (allowing them to be removed from the repository in the next commit), but preserving them in the working tree.