Mastering Git
Migliora la qualità del tuo codice tramite un uso consapevole di Git
12/2021 Italiano
Programma
Oggigiorno, Git è "de facto" IL source control ma, in realtà, la definizione "tool per il Source Control", non è quella più adatta a definirlo pienamente. Troppo spesso, infatti, i team di sviluppo non utilizzano tutte le potenzialità di questo strumento sia per scarsa conoscenza, ma anche per false analogie con altri strumenti apparentemente analoghi.
Se per guidare una macchina non ci è richiesta una comprensione di ciò che esattamente accade sotto al cofano, nel caso di Git la piena consapevolezza dei suoi meccanismi interni permette invece di sfruttarne a pieno le funzionalità. Il rischio maggiore, infatti, è quello di utilizzare Git come si userebbe qualsiasi altro source control, mentre Il vero vantaggio nell'uso di Git è il poter adottare flussi di sviluppo impensabili con un source control tradizionale. Sia una macchina che un elicottero sono autoveicoli, ma se uso l'elicottero seguendo le strade a terra, probabilmente mi sto perdendo qualche cosa.
Questo corso ha quindi lo scopo di cambiare il modo con cui si gestisce il codice, in ottica delle enormi potenzialità che Git offre rispetto ad un source control tradizionale.
Modulo 1: Git Internals
- Cosa veramente è Git
- Struttura del database Git
- Dissezionare i primi commit
- Un commit è per sempre
Modulo 2: Git Branching
- Branch demystified
- Visualizzazione dell'albero dei commit
- Reintegro tramite merge
- Reintegro tramite rebase
- Perdere codice in Git è possibile? Ed in un source control tradizionale?
Modulo 3: Lavorare in team
- Server? Chi ha bisogno di un Git Server?
- Remote demystified
- Cosa fa veramente il comando Pull
- Simulazione di lavoro concorrente tra due sviluppatori
Modulo 4: Tenere la storia del codice pulita
- Perché usare rebase invece di merge
- Squash dei commit e perché non mi interessa sapere chi ha scritto cosa
- Push force, da grandi poteri derivano grandi responsabilità
Modulo 5: Strategie di branching
- Introduzione a GitFlow
- Trunk-based development
- Esempi di GitFlow nella vita reale
- I vantaggi di una storia lineare
- Introduzione alle Pull Request
Modulo 6: Casi reali
- Una serie di piccoli casi reali e come risolverli
Docente
-
Gian Maria Ricci
Software Architect - Indipendent ConsultantRicci Gian Maria è da sempre appassionato di programmazione, partendo dal classico Vic20, come molti dei suoi coetanei, è passato attraverso molti linguaggi e tecnologie specializzandosi su C#, .NET e gestione del processo di sviluppo.
Tra i fondatori di DotNetMarche è attivo nel mondo community e per questo è MVP (Microsoft Most Valuable Professional) nella categoria Developer Tecnologies dal 2009.
Attualmente svolge libera professione nel mondo della consulenza su gestione di processo con Azure DevOps e GitHub e su sviluppo applicativi in .NET.