Partiamo dal presupposto che il lettore di questo articolo abbia familiarità con almeno un sistema di controllo di versione, come ad esempio CVS, SVN o GIT ed in particolare conosca già i comandi di base per l’utilizzo di un repository GIT. Si veda per questo anche l’altro articolo: “Collaborare su un repository Git” .
Una delle caratteristiche che troviamo nei sistemi di Controllo di Versione più diffusi è la possibilità di creare dei “branch”, ovvero delle “ramificazioni” dei sorgenti a partire dal “tronco” principale di sviluppo (appunto il “trunk”). Un branch ci permette ad esempio:
- Di effettuare delle implementazioni corpose su un progetto da parte di uno o più sviluppatori, mentre un’altra parte del team si occupa di portare avanti la versione principale. In tal caso alla fine del lavoro le implementazioni presenti nel branch dovranno essere fuse di nuovo nel tronco principale.
- Di marcare una versione del software rilasciata ad un cliente, di modo da “isolarla” storicamente dal resto del sistema che da lì si evolverà con nuove funzionalità. Il branch permetterà ad esempio di intervenire in futuro su un nuovo bug segnalato dal cliente che verrà così corretto sul branch stesso.