Welcome to the Treehouse Community

The Treehouse Community is a meeting place for developers, designers, and programmers of all backgrounds and skill levels to get support. Collaborate here on code errors or bugs that you need feedback on, or asking for an extra set of eyes on your latest project. Join thousands of Treehouse students and alumni in the community today. (Note: Only Treehouse students can comment or ask questions, but non-students are welcome to browse our conversations.)

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and a supportive community. Start your free trial today.

Development Tools

Git implementation for dev, staging, and production environments

I have three servers, and each acts as either the dev, the staging, or the production environment for my website. My hope is to implement git in such a way that changes to the dev environment can easily be pushed to the staging server. Once those changes are tested and approved, they can be pushed to the production environment. What is the best way to set this up?

1 Answer

Hi there,

This is relatively easy to set up. You just need to have three remote set up and push to each one at the relevant times. I had a look about and found this useful article; I hope it helps.


Maybe I missed some details from the article. It sounds like they're saying it's good to have three levels in your development environment, and that using Git on each of them is important. That much I understand. I was hoping for specifics on the best practices for implementing the three development levels. Which repos should act as origin? Do I initiate a repo in the web root of each environment, or should I have bare repos on each development level from which I pull changes into my web root? Is there a way to do this on an existing site without causing downtime?