Il frontend e il backend dovrebbero essere su repository GitHub separati?
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-fronteourplugin-backpoi in.gitignorequalsiasi altra cartella dai plugin. Un giorno, quando saremo pronti per creare i due, creeremo semplicemente unaourplugincartella 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
Esistono due considerazioni principali per decidere di utilizzare uno o due repository:
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.
È 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.