I have a WordPress site under local version control with Git. I deploy it to the production server using Capistrano.
For the initial deployment, I manually import the SQL database to the production server, and change all the local references by hand. Any content changes are made on the production server from then on.
This is for the most part okay, but I'm having a problem when it comes to testing/configuring new or updated plugins, since many plugins make changes to the wp_options table. I need a way to add/remove/update/configure plugins locally, do all my testing and then seamlessly deploy the updated site to the production server without breaking anything.
How are others dealing with this?