I've been kicking this ball around for months and have been unsuccessful. Any help would be much appreciated.

I have 3 servers ready to go. Development, Staging and Production. Ideally, I'd like to develop locally, push to staging, test on staging and then push to production. Ambitious at this point as I can't seem to get a simple local > remote server push to happen.

I can successfully:

*create a local repository
create a remote repository
create a git remote connection between local and remote
push a commit to a remote - however, this only creates a large .pack file in .git/objects


*figure out how to make my remote public_html folder look like my local public_html folder - a Git push does not populate that folder with files?

What am I doing wrong here? Maybe I'm thinking about the whole thing wrong?

My question: Let's say I have a site 100% complete on my local MAMP stack. I have a totally bare remote server ready for the whole site. Historically, I'd just FTP the whole thing up. That model doesn't seem to work with Git. What am I doing wrong? Am I thinking of this wrong? Do I still FTP the files upstream and then use Git to version control once it's all established?