Come gestire un progetto in git con lo stesso codice ma modelli diversi?

2

Ho un progetto in cui l'unica differenza sono i modelli.

La domanda è: come devo gestire questo con git ora?

Al momento ho 3 diversi Repos git, ma è difficile mantenerli tutti e 3.

Quale sarebbe una buona soluzione per questo problema?

1 Repo per il Codebase e 3 per i diversi modelli (sottomoduli / sottostruttura)?

Modifica: È un progetto PHP, con i template intendo il gui / frontend (html, css, js ...)

-app
-Resources
    -Template
       -js
       -css
       -html 
    -Images
    -Translation
    
posta demonking 27.07.2015 - 17:22
fonte

1 risposta

3

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 .

    
risposta data 28.07.2015 - 03:42
fonte

Leggi altre domande sui tag