A standard practice in developing websites is to use different environments. For the non technical person this mean developing versions of the site in different places. Typically a developer will develop a site ‘locally’ which mean on his own machine and no one else will have access to it. Then they’ll be a ‘development’ site where other developers can push their code and the site can be tested. After this your likely to have a ‘staging’ site where clients can review their site before it goes live. Then finally the ‘production’ environment which is the finished live site.
Manage WordPress between these sites can be tricky for several reasons. It most likely that the different environments will have different URLs i.e coolsite.local, coolsite.dev, coolsite.staging, coolsite.com.