Git & Deployment - I am stumped. Perhaps misunderstanding

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

I CANNOT:

•*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?

You are missing the continuious integration server – that is the device responsible for taking the freshly pushed git repo, pulling it, running your deployment and test scripts and and letting you know if it succeeded or failed. Check out jenkins for a free options or TeamCity for a freemium option.