[[install-dev-sites]] === Concept: Development Sites (((Development Sites,overview))) (((Deployment Workflow,overview))) //==== Prerequisite knowledge ==== What are Development Sites? Development Sites are different copies of the same Drupal site used for developing, updating, and testing a site without risking the integrity of the live site. When building a Drupal site, your deployment workflow will usually include one or more sites for developing and testing new features before going live (development and staging sites) and a production site that you only update when the new features you developed have proved to be safe to go live. An example workflow: * **Local environment**: The development process starts with developers working on the code in their local environment. * **Development site**: Developers push the code they've been working on to the development site. For a team of more than one developers, version control is usually used. Git is a version control system that tracks your files for any changes. You can then commit those changes to a repository. Using Git allows team members to work on the same site without overriding each other's code. It also makes it possible to easily rollback to previous stages of the development. * **Staging site**: The staging site can be used for testing, or presenting the changes to the client for approval. QA (Quality Assurance) and UAT (User Acceptance Testing) are most often carried out on the staging site. * **Production site**: The live site on the web available to visitors. Based on the project's size, scope, requirements, or stakeholders, stages from the above workflow can be removed, or additional stages can be added. For example a testing site before staging can be added to separate testing and user acceptance processes. ==== Related topics * <> ==== Additional resources * https://www.drupal.org/node/991716[Introduction to Git]