mi consiglia di utilizzare:
- un file di modello di configurazione (un file con nome di variabile al posto del valore di host e port)
- uno script in grado di sostituire i nomi di variabili con i valori appropriati a seconda sull'ambiente (rilevato dallo script)
La soluzione Git è quindi un git attribute filter driver (vedere anche GitPro book).
Un driver di filtro è costituito da un comando clean
e un comando smudge
, uno dei quali può essere lasciato non specificato.
Su, quando viene specificato il comando smudge
, il comando viene alimentato dall'oggetto blob dal suo input standard e il suo output standard viene utilizzato per aggiornare il file di worktree.
Analogamente, il comando clean
viene utilizzato per convertire il contenuto del file worktree al momento del check-in.
In questo modo, lo script (gestito con Git) a cui fa riferimento la macchia può sostituire tutte le variabili dai valori specifici environement, mentre lo script pulito ripristina il suo contenuto in un file di configurazione intatto.
Quando si verifica il tuo repo Git su un ambiente prod, il processo di macchia produrrà un file di configurazione prod-come nel albero di lavoro risultante.
erm, mantenere un ramo e unire "principale" in rami "produzione" e "sviluppo"? Questo potrebbe essere fatto (semi) -automaticamente da topgit (forse anche stgit) –