Sharing database for collaborative development

Yes. Use WP_HOME and WP_SITEURL in your wp-config.php, so the URLs in the database won’t mess (a lot) with local site development.

define ('WP_HOME', 'http://local/site/url');
define ('WP_SITEURL', 'http://local/site/url');

Also, some other good practices:

  • Put in your .gitignore things like:

    wp-config.php
    wp-content/uploads
    wp-content/cache
    wp-content ... # Everything that is created by users
    .htaccess
    
  • Make a copy of the wp-config.php file and use it as a template, name it something like wp-config.php.<your branch name>, add it to the version tree and fill it with the basic development configuration, so developers can just keep their wp-config.php untouched by Git, but can also apply new configuration sets that may be required by other functionality.

  • You can also create a wp-config.php.<branch> for each environment the site runs (development, homologation, production).

  • Create a remote uploads repository in the development server, and mount it as a local directory, so an upload to the site that creates a new entry in wp_posts will also sync the file with other developers. Leave the mount information in a README or even in the wp-config.php.<branch> file. You can use a Samba share or even a SSHFS command line like:

    sshfs user@server:/path/project-uploads wp-content/uploads
    

Leave a Comment