- Uso dei rami git, come hai detto.
Naturalmente puoi creare una sorta di ramo "principale" per il tuo prototipo e ogni ramo per una pagina specifica.
Il tuo processo sarà quindi:
-
git checkout -B new_branch
per creare una 'copia' del modello.
- Invio di alcune modifiche al nuovo ramo.
- Nel frattempo, apporta alcuni aggiornamenti alla tua 'linea principale'.
-
git merge main_branch
per riapplicare aggiornamenti su ciascun ramo specifico.
Quale potrebbe essere il problema: dopo qualche tempo le differenze tra "mainline" e ogni specifico ramo cresceranno fino al punto che ti rendi conto, che passi la maggior parte del tempo risolvendo i conflitti di fusione rispetto allo sviluppo reale.
- Soluzione migliore, utilizzando la tecnologia di destinazione.
A mio modesto parere, una soluzione migliore sarebbe quella di sviluppare le funzionalità comuni come una sorta di "biblioteca" o "modello". Quindi includilo o importalo nei tuoi progetti specifici.
Come farlo, dipende principalmente dalla tua tecnologia. Puoi farlo usando qualche tipo di framework moderno con funzionalità complete come Angular, React o Vue. Può anche essere un semplice insieme di funzioni Javascript che operano su DOM.
Ricorda che hai due possibilità (devi decidere quale ti porterà più vantaggi nel tuo caso):
- Crea un modello con una sorta di "punti di ingresso" che semplificano il cambiamento del comportamento nei sottoprogetti.
- Crea un set di componenti riutilizzabili.