Git è il sistema di version control più usato al mondo, anche grazie alla sua estrema flessibilità nell’adattarsi al flusso di lavoro di ciascuno e del team.
Nel tempo, sono emerse buone pratiche e raccomandazioni sull’uso efficiente di Git, al fine di poter lavorare in modo coerente e produttivo.
Tali pratiche prendo il nome di “workflow”, proprio perché permettono ai team di trovare il modo più adatto per far fluire il lavoro dal server remoto che ospita il repository alla macchina dello sviluppatore web, e viceversa.
Non ultimo, è opportuno anche considerare come un git workflow possa avere impatti o essere impattato da tool per la continuous integration e dalle modalità di deploy di un progetto (un sito web ha esigenze diverse rispetto a un’app per smartphone!!).
Workflow Git centralizzato
Un workflow Git centralizzato consente a tutti i membri del team di apportare modifiche direttamente al branch principale del repository remoto.
Questa strategia funziona bene per team piccoli, laddove i vari membri del team riescono a comunicare in modo efficiente per evitare quanto più possibile di intervenire sulla stessa porzione di codice.
Vantaggi:
- strategia semplice adatta anche a chi è alle prime armi con Git
- si è obbligati a mantenere la propria working copy pulita e aggiornata
Svantaggi:
- funziona adeguatamente in funzione del progetto e della dimensione del team
- necessario sincronizzarsi per stabilire momento in cui effettuare un rilascio
- modifiche potrebbero rimanere sui repository locali finché non si è “sbloccati”, oppure, al contrario, potrebbero essere state caricate sul repository remoto funzionalità non ancora pronte