Il frontend e il backend dovrebbero essere su repository GitHub separati?

Oct 15 2020

Siamo nuovi a git, ma questa domanda fondamentale deve essere risolta prima di poter iniziare. Sono due sviluppatori che lavorano da soli da un po '. Ora è giunto il momento di adottare git (a prima vista di scambiarsi zip e frugare gli stessi file). Io lavoro sia davanti che dietro, lui lavora solo dietro. Quindi il lavoro di squadra avviene solo sul backend. È un plugin per WordPress che attualmente ha un backend autonomo e un frontend e sono installati separatamente . (Commerciale, quindi niente SVN qui.) Ovviamente saranno fusi in uno solo, specialmente per la produzione / rilascio. Qual è la migliore pratica qui? Le mie idee:

  • A. 1 repository che clona nella /wp-content/plugins/cartella delle nostre installazioni di dev WP, ourplugin-fronte ourplugin-backpoi in .gitignorequalsiasi altra cartella dai plugin. Un giorno, quando saremo pronti per creare i due, creeremo semplicemente una ourplugincartella comune e vi sposteremo i file.
  • B. 2 repo, uno per ogni lato. Alla fine un lato verrà abbandonato quando i suoi file inizieranno a esistere sull'altro. Rinomineremmo il repository vincente, perdendo versioni / cronologia dei file trasferiti.
  • C. 2 pronti contro termine, ma combinando i pronti contro termine effettivi una volta che non lavoriamo più in modo autonomo. Dato che sono nuovo a questo, potrebbe essere un clusterfck ma ho letto che è possibile . Oppure potremmo decidere cosa vogliamo adesso ed evitarlo poiché si trasformerebbe comunque in A.
  • D. 2 pronti contro termine. Combina solo al build di produzione e non memorizzare affatto la versione costruita / combinata su git. Non sei sicuro di quale strumento estrarre da 2 repository, costruire e combinare le cose in uno. Sembra fantastico. Avrebbe bisogno di mantenere la parte anteriore aggiornata per il ragazzo di backend sulla sua macchina (programmata git pullo qualcosa del genere).

Risposte

3 BartvanIngenSchenau Oct 15 2020 at 11:10

Esistono due considerazioni principali per decidere di utilizzare uno o due repository:

  1. Ostacolerà o aiuterà lo sviluppo del front-end o del back-end se l'altro è presente anche nel tuo ambiente di sviluppo? Questo è qualcosa che dipende fortemente dal tuo processo di sviluppo e non possiamo rispondere.

  2. È intenzione rilasciare sempre il front-end e il back-end insieme sotto un unico numero di versione o è possibile che inizieranno a seguire frequenze di rilascio diverse con numeri di versione devianti?

    Avere intervalli di rilascio indipendenti è un chiaro segno per l'utilizzo di repository separati, mentre i rilasci in tandem sono più facili se tutto è in un unico repository.

Se non puoi prendere una decisione ora, ti consiglio di iniziare con repository separati, perché è più facile unire i repository in un secondo momento piuttosto che dividerli.