Developing a website for a customer could not be so easy and immediate as you think.
The process that take place when a new project is started is very complex and most of times it includes many people with many different ideas.
In the company I work for we’re usual to build official showcase websites. This means the client has the final say in everything that is not highly technical.
We also have a development and a production server; the first is locally available in the office, the last is in the cloud.
Considering this, I’ve developed this workflow which is very successful (for now) and it’s followed for the 99% of the project we develop.