Assim que você toca no tópico de fazer alterações em paralelo, toca na área de gerenciamento de configuração. Com muitos padrões, comunidades próprias (http://www.cmcrossroads.com/) e ferramentas não muito para gerenciamento de versões (como svn / git), mas para suporte ao gerenciamento de configurações (padrões) como clearcase. (áreas totalmente diferentes).
Nesse caso, ainda é uma situação simples e você encontrará que ele funciona com algumas limitações, algum trabalho manual e algumas listas.
O cenário em que estou pensando para torná-lo mais descritivo da solução ideal: vários desenvolvedores trabalhando na mesma base de código, múltiplos ambientes de teste, múltiplos ambientes de aceitação, múltiplos ambientes de aceitação de produção, possivelmente em todos os cantos do mundo.
Se você quiser fazer isso um pouco mais profissional:
a) escreva uma lista de todos os itens de configuração que encontrar, este pode ser o próprio código do WordPress, plugins de fontes externas, conteúdo, metadados e decidir quais desses você deseja incluir em algum tipo de "gerenciamento", quais são os importantes.
b) descrever os fluxos de trabalho que podem acontecer, por exemplo, o que acontece com uma correção, o que acontece com o desenvolvimento de algo novo, em que caso você altera o conteúdo do seu lado, como é chamado e quem o faz, quem é o proprietário dele por exemplo, um novo post ou um novo plugin.
c) para o trabalho paralelo, primeiro descreva quais ICs você deseja gerenciar, decida se o fluxo é sempre do desenvolvimento à produção ou se é realmente necessário fazer tudo isso de duas maneiras.
d) para cada um dos tipos de IC em (a) escreva uma resolução. Por exemplo, para ALL que é texto (ou texto exportado, como arquivos php, mas também texto sem formatação em arquivos XML), é possível mesclar. Isso realmente não é problema, mas você precisa de uma boa ferramenta de mesclagem. Por exemplo, com o ClearCase, você mescla de três formas as seguintes situações: 1) mesclagens triviais: elas são executadas automaticamente 2) automáticas não triviais: são executadas automaticamente, mas você precisa verificá-las 3) não triviais não automáticas: é um conflito, por exemplo, em 1 linha, várias alterações foram feitas. As coisas não triviais são a parte mínima com a qual você precisa cuidar manualmente; uma boa ferramenta de mesclagem o levará a isso, por exemplo, a que está em clearcase (que também faz a mesclagem de palavras e onde você pode vincular outras fusões comerciais ou não comerciais para um arquivo específico tipos). Além disso, se você identificou em (a) arquivos que devem ser copiados, somente o comportamento deles não deve ser mesclado, mas apenas copiado de uma maneira substituindo a outra versão sem mesclagem (por exemplo, plug-ins que você não modificou). Muitos desses tipos são possíveis com comportamentos diferentes. Mas anote as relações entre os ICs,
Então, para mesclagens não baseadas em texto, você precisa tomar uma decisão sobre como lidar com elas, por exemplo, imagens que foram alteradas em 2 lugares. Você pode decidir aqui que a produção sempre tem preferência (pelo menos é o que eu pensaria), o que simplifica.
Então ... para resolver esse problema, você precisa de uma ferramenta de gerenciamento de versões que suporte fluxos diferentes. Cada fluxo representaria uma parte. (isso pode ser imensamente complexo, dependendo de suas necessidades, mas, neste caso, acho que é muito simples).
Se agora você conseguir ter esses fluxos sob as instalações do WordPress e sincronizá-los também com o conteúdo do banco de dados, etc ..., poderá realizar as mesclagens na ferramenta CM / versioning e exportá-las novamente para outro ambiente.
A coisa é ... você precisa escrever isso primeiro. Este não é um truque técnico. É um padrão padrão no Gerenciamento de Configurações, então nada de estranho aqui também, mas você precisa anotá-lo. Você pode descobrir, por exemplo, que um plug-in instalado faz alterações no banco de dados com alguns dados diferentes em outro ambiente, portanto, é necessário um procedimento extra para contornar isso.
Tecnicamente, quase sempre tudo é possível, verifique http://www.cmcrossroads.com/forums para cenários que são dezenas ou centenas de vezes mais complexos, embora sempre usando a mesma abordagem e usando o mesmo conjunto de padrões de CM.
em resumo: coloque uma camada de gerenciamento de versão, automatize as mesclagens e lide com os conflitos e depois importe no ambiente de destino. Pense em uma estratégia de fluxo que se encaixe aqui e anote-a. Realize um gerenciamento minúsculo de CM. Essa seria a solução profissional, caso contrário, instale algum db copy hack, scripts etc ...