O front-end e o back-end devem estar em repositórios GitHub separados?

Oct 15 2020

Somos novos no git, mas essa questão fundamental precisa ser resolvida antes de começarmos. São dois desenvolvedores que estão trabalhando de forma autônoma há algum tempo. Agora chegou a hora de adotar o git (à primeira vista, enviando zips uns aos outros e acessando os mesmos arquivos). Eu trabalho na frente e atrás, ele só trabalha nas costas. Portanto, o trabalho em equipe só acontece no backend. É um plugin para WordPress que atualmente possui um backend autônomo e um frontend e eles são instalados separadamente . (Comercial, portanto, sem SVN aqui.) Obviamente, eles serão mesclados em um, especialmente para produção / lançamento. Qual é a melhor prática aqui? Minhas ideias:

  • A. 1 repo que clona na /wp-content/plugins/pasta de nossas instalações dev WP ourplugin-fronte , em ourplugin-backseguida, em .gitignorequaisquer outras pastas de plug-ins. Um dia, quando estivermos prontos para forjar os dois, vamos apenas criar uma ourpluginpasta comum e mover os arquivos para lá.
  • B. 2 repos, um para cada lado. Eventualmente, um lado será abandonado quando seus arquivos começarem a existir no outro. Renomearíamos o repositório vencedor, enquanto perdíamos versões / histórico dos arquivos transferidos.
  • C. 2 repositórios, mas combinando os repositórios reais, uma vez que não trabalhamos mais de forma autônoma. Como sou novo nisso, pode ser um clusterfck, mas li que é possível . Ou podemos decidir o que queremos agora e evitar isso, pois se tornaria A. de qualquer maneira.
  • D. 2 repos. Combine apenas na construção de produção e não armazene a versão compilada / combinada no git. Não tenho certeza de qual ferramenta puxaria de 2 repositórios, construiria e combinaria coisas em um. Parece fantasia. Precisaria manter o front atualizado para o cara do back-end em sua máquina (programado git pullou algo assim).

Respostas

3 BartvanIngenSchenau Oct 15 2020 at 11:10

Existem duas considerações principais para decidir usar um ou dois repositórios:

  1. Ele vai atrapalhar ou ajudar no desenvolvimento do front-end ou do back-end se o outro também estiver presente em seu ambiente de desenvolvimento? Isso é algo que depende muito do seu processo de desenvolvimento e não pode ser respondido por nós.

  2. É a intenção de sempre lançar o front-end e o back-end juntos sob um único número de versão ou é possível que eles comecem a seguir diferentes frequências de lançamento com números de versão de desvio?

    Ter intervalos de lançamento independentes é um sinal claro para o uso de repositórios separados, enquanto lançamentos em conjunto são mais fáceis se tudo estiver em um único repositório.

Se você não puder chegar a uma decisão agora, eu recomendo que você comece com repositórios separados, porque é mais fácil mesclar repositórios depois do que dividi-los.