Drupal Deployment to Dev & Prod and Git Code Repository Setup
CI (continous integration) can contain many moving parts during deployment and code pushes. But instead of using all of it, which isn't necessary for every site, I've come up with the following setup:


2 environments: Dev and Prod domains
Code revisions gets stored in the git servers
2 git branches: dev and master, the master branch is the prod server code.
Each developer will have their own local servers for testing and coding on their laptops.
Each developer checks out the dev branch.
Master (prod) branch should only be touched when dev is tested. Then, merge dev into master.
Once a push to the Dev branch is detected, script on server will auto 'git pull' to get new changes.
Once a merge with dev + master, script on server will auto 'git pull' to get new changes into prod.
Drupal files content will be managed by the "Stage File Proxy" module without the need to download all files.
Database will be synced by downloading a copy from the dev server with "drush sql-dump"