Ho anche affrontato molte sfide per implementare git nel mio ultimo progetto. Dopo aver cercato su Google ho trovato questo blog ed è davvero un bel modo per mantenere il modello di git branch.
A successful Git branching model Il repo centrale tiene due rami principali con durata infinita:
Il branch master in origine dovrebbe essere familiare ad ogni utente Git. Parallelamente al ramo principale, esiste un altro ramo chiamato sviluppo.
Consideriamo origine/master il ramo principale in cui il codice sorgente di HEAD riflette sempre uno stato pronto per la produzione.
Consideriamo origine/sviluppo il ramo principale in cui il codice sorgente di HEAD riflette sempre uno stato con le ultime modifiche allo sviluppo consegnate per la prossima versione. Alcuni lo chiamerebbero il "ramo dell'integrazione". Da qui vengono create tutte le build notturne automatiche.
rami di supporto
I diversi tipi di rami che ci all'utente sono:
- Feature rami
- rami di rilascio
- rami Hotfix
Rami di funzione: I rami di funzionalità (o talvolta denominati rami di argomenti) vengono utilizzati per sviluppare nuove funzionalità per la prossima o futura release.
maggio diramano da: sviluppare
necessario unire nuovamente dentro: sviluppare
Branch convenzione di denominazione: nulla, se non maestro, sviluppare, release- , o hotfix-
Rilasciare i rami: I rami di rilascio supportano la preparazione di una nuova versione di produzione. Consentono la punteggiatura dell'ultimo minuto di i e l'attraversamento di t.
maggio diramano da: sviluppare
necessario unire nuovamente dentro: sviluppare e padroneggiare
Branch convenzione di denominazione: Release- *
rami Hotfix: rami Hotfix sono molto come i rami di rilascio in quanto sono anche pensati per preparare una nuova versione di produzione, anche se non pianificata. Esse derivano dalla necessità di agire immediatamente su uno stato indesiderato di una versione di produzione dal vivo.
Può diramano da: maestro
necessario unire nuovamente dentro: sviluppare e maestro
Branch convenzione di denominazione: hotfix- *
Potete trovare maggiori dettagli su questo modello di ramificazione Git dal blog. I comandi utilizzati per il modello di ramificazione sono elencati anche nel blog. Check the blog per maggiori dettagli. Ho implementato con successo il modello di ramificazione nel mio progetto con alcune modifiche dal modello menzionato nel blog. Git è uno strumento potente e flessibile, e questo è solo un modo di usare Git.
Perché sarebbe variabili d'ambiente e rami essere gli unici modi per differenziarsi tra diversi ambienti? Non puoi, ad es. passare un'opzione di avvio al servizio per selezionare quale file di configurazione utilizzare? –
Grazie per la risposta Magnus, con AWS Elastic Beanstalk, non conosco un modo per farlo. – pingu
@pingu Non è del tutto chiaro dalla tua domanda quale file viene sovrascritto in quale branch (es). Potresti elencare un diagramma di qualche tipo (il testo sarebbe sufficiente). –