Un paio di suggerimenti che potrebbero renderlo più facile da gestire cambiando leggermente la struttura del tuo progetto.
In primo luogo, hai ragione che gestire questo in tre repository diversi è probabilmente troppo lavoro. In generale ho scoperto che la suddivisione di diversi componenti software che sembrano tutti sensati per un progetto generale per cartella in un repository è un buon modo per modulare il codice e le risorse.
Se non hai pensato ai concetti di Integrazione continua e Consegna continua quindi vale la pena esaminare.
Integrazione continua
Questo approccio riguarda il mainline di tutti i thread di sviluppo attivi in un singolo ramo. Inoltre, giocare a questo è organizzare l'automazione del packaging e il controllo delle versioni del codice in modo tale che possa essere implementato facilmente. Questo può essere fatto attraverso strumenti o script, non sono sicuro di quale tool ci sia in PHP, ma dovresti avere la possibilità di raggruppare moduli di componenti software PHP (o gruppi di pagine) e risorse statiche da un template di tua scelta in un'altra cartella interamente nel tuo repository.
Consegna continua
Questa disciplina e questo approccio riguardano l'utilizzo di strumenti o script per acquisire una build pacchettizzata e distribuirla rapidamente in uno o più ambienti per test o produzione.
Quindi cosa significa questo per te, beh se stavi eseguendo su Apache, in genere le tue risorse statiche si troverebbero in un percorso file separato che può essere servito da e questo sarebbe mappato a una root di contesto diversa da quella che normalmente sarebbe il tuo contenuto di pagina PHP dinamico. I due potrebbero tranquillamente vivere in percorsi di file separati in modo che possano probabilmente e debbano essere trattati come componenti software indipendenti con versioni a tema e versioni, ciascuno con il proprio comportamento di packaging e ciascuno con il proprio comportamento di distribuzione.
Ha senso mantenere i tuoi modelli in un'altra cartella e essere trattati come diversi moduli software nel tuo repository Git.
Il vantaggio ulteriore di questo è con le distribuzioni in un clic per ogni tipo di modello di build a tua scelta, ti avvicini di 1 passo a Test di Joel .