One way to manage web content is to create a "bare" repository on the production box. This is a repository that doesn't have a working copy. When you want to deploy new code, you would push to this repository to update it. Then, log in to the production box and pull from the bare repository into your actual deployment directory (which is also a Git repository).
Note that neither of these repositories on the production box need to be considered the "master" repository; you can keep your source code elsewhere and just push to production as needed.
The reason you need two repositories is that Git does not support pushing directly into a repository with a working copy. Git has historically allowed you to do this (often with unintended consequences) but newer versions strongly encourage you to avoid pushing in this way.
I use the above technique to manage some web sites and it works really well. One benefit is that if I really need to, I can patch something on the production machine, commit it right there, then later on pull that change into my development repository. Changes made in this way are much less likely to get accidentally lost.