Long story short:
You can't.
The remote repo is more or less a mirror of your local repo.
Git is not a file transfer tool but a version control system.
In order to be able to push something out to the remote repo, the file has to be present (read: versioned) in the local repo.
What you're trying to achive is not possible with Git.
The closest you can get is to have a local branch full
that contains the file and another local branch stripped
that doesn't hold the file.
If you git push <remote> full
, the remote
branch will hold the file.
Your work would be done in the stripped
branch not holding the file.
But as earlier said: this is basically not something you want to do with Git.