Eu desenvolvo temas, muitos deles. Recebi um PSD, codifique o HTML / CSS, introduza o código no Wordpress e faça as correções à medida que obtêm o controle de qualidade. Uma vez ativo, os clientes podem editar as postagens do blog normalmente ou fazer upload de fotos usando um plug-in personalizado.
Às vezes, tenho que fazer alterações no tema ou no conteúdo da página / postagem, o que significa que eu os vivo ou preciso fazer o download e configurar o site em um ambiente de desenvolvimento a ser aprovado pelo cliente. Não tenho backup, não tenho controle de versão e percebo que isso precisa mudar.
Git e Mercurial foram sugeridos, e eu gostaria de tirar proveito dessas ferramentas, mas estou confuso sobre como encaixá-las em um fluxo de trabalho.
Preciso de todas as alterações em um site em um servidor de desenvolvimento e depois as empurro ao vivo depois de aprovadas? Que tal escrever posts no blog? Parece um exagero escrever postagens no dev e enviar as alterações ao vivo, mas como sincronizar os bancos de dados se eles forem editados no site ao vivo? Eu vasculhei a internet. Alguma orientação seria apreciada.
Respostas:
Primeiro de tudo, você precisa reconhecer que existem dois fluxos de trabalho aqui: o seu e o seu cliente.
Seu fluxo de trabalho
Seu fluxo de trabalho
O problema
A implementação do controle de versão aqui não tem absolutamente nada a ver com o fluxo de trabalho de seus clientes. É tudo sobre como acompanhar o código que você usa para o tema WordPress. Todos os seus arquivos de temas, plug-ins personalizados etc. devem estar em um sistema de controle de versão (Git, Mercurial, Subversion ou o que você escolher).
Seu fluxo de trabalho se torna:
Lembre-se, trata-se de manter um histórico de controle de versão para o seu código . Código é algo que seus clientes não devem mudar - e você nunca deve mudar o código em um site de produção enquanto estiver em produção.
Mas as alterações no conteúdo (postagens, fotos, etc.) estão fora do escopo do seu sistema de controle de versão. Em outras palavras, você não faz alterações no desenvolvimento e envia o banco de dados à produção. Essa é uma má prática de desenvolvimento. Se você precisar que os bancos de dados dev e prod estejam sincronizados, deverá rotineiramente extrair um backup da caixa de produção e restaurar sua versão local a partir desse backup.
As alterações de código fluem do desenvolvimento para a produção.
As alterações no banco de dados fluem da produção para o desenvolvimento.
fonte
Você pode usar um software que sincroniza os bancos de dados. Mas também há a opção de versionar os dados em si com algo como http://chronicdb.com
fonte
Acabei de escrever uma resposta completa para isso em outra pergunta. Pessoalmente, eu uso o git e é fantástico. Para começar, recomendo consultar http://gitref.org/ e http://help.github.com/mac-set-up-git/ . Se você é do tipo de livro, eu li este e definitivamente vale o preço de US $ 22 em e-books. Faça você mesmo, você não vai se arrepender dessa decisão.
fonte