Immediatamente.
La chiave è la domanda su quale sia la politica per il Master. Con git, in genere, la politica di ramo su Master è la versione stabile buildable . A volte, Master è la "linea principale" da cui i rami vengono creati e uniti prima di unirsi a un ramo Release. Questi sono due diversi approcci ruolo / politica.
Spesso è una fonte di errori per le persone cambiare il ruolo o la politica di una parte della filiale attraverso il progetto. È più facile per uno sviluppatore solista comunicare queste modifiche ai contributori, ma cercare di ottenere una dozzina di programmatori per riconoscere tutti "Il master è ora a 1.0, si prega di ramificare le caratteristiche piuttosto che tutti spingendo ad esso"
Ho accennato all'approccio politico sopra riportato. La politica per Master è che è la versione stabile buildable . Controllare in piccole modifiche incrementali in questo significa che non hai qualcosa buildable stabile in ogni momento. Non controllare piccoli cambiamenti va contro i "molti piccoli (ma completi) check-in" che tendono ad essere la miglior politica (e incoraggiati da facili ramificazioni).
Da una prospettiva basata sui ruoli, hai iniziato a gestire i ruoli di sviluppo principale, rilascio, manutenzione, e e poi alcuni punti in cui il ruolo di sviluppo e manutenzione si sposta sulle filiali. Ciò significa nuovamente un cambiamento in ciò che è consentito al master e può confondere i contributori su dove le cose appartengono. Può anche (leggermente) confondere la storia del ramo, incoraggiando grandi commit che significano più grande e più difficile capire le fusioni.
Chiave i ruoli e le politiche sui rami semplici e coerenti fin dall'inizio.
Questo "ramo sulla modifica delle politiche" può essere visto nei Modelli di ramificazione . L'idea di ciascun ramo con ruoli può essere letta in Strategie di ramificazione avanzata SCM . Entrambe queste sono ottime letture.