In primo luogo, alcuni retroscena, stiamo trasferendo tutti i nostri team di progetto all'utilizzo di git e stiamo definendo le linee guida su come organizzare i repository in modo che determinati rami possano anche essere monitorati per l'integrazione continua e distribuzione automatica sui server di test. Attualmente ci sono due modelli che stanno sviluppando:
Fortemente influenzato dall'articolo di nvie.com sulla ramificazione di successo con il ramo principale che rappresenta il codice più stabile, un ramo di sviluppo per il codice bleeding edge e un ramo di integrazione per il codice pronto per i test di controllo qualità.
Un modello alternativo in cui il ramo master rappresenta il codice di sviluppo del bordo di spurgo, un ramo di integrazione per il codice pronto per i test di controllo qualità e un ramo di produzione per il codice stabile pronto per la distribuzione.
A questo punto, è in parte una questione di semantica rispetto a ciò che rappresenta il ramo principale, ma lo sviluppo attivo sul ramo principale è in realtà una buona pratica o non è poi così rilevante?