Corso Git per developers and teams
Un corso su git e github per acquisire le fondamenta che ogni sviluppatore dovrebbe conoscere sul più diffuso sistema di versionamento!

INTRODUZIONE
In questo corso tratteremo gli elementi essenziali di Git, il sistema di versionamento più efficace e diffuso. Sarai in grado di creare un nuovo repository Git, eseguire il commit delle modifiche e rivedere la cronologia del commit di un repository esistente. Imparerai a definire una metodologia di lavoro in team per portare avanti i nuovi sviluppi e distribuire in produzione il tuo progetto. Scenderemo nel dettaglio della gestione dei branch e dello sviluppo collaborativo in team con attenzione alla fase di revisione tramite Pull Request.
OBIETTIVO
Al termine del corso i partecipanti saranno in grado di:
• definire una metodologia di lavoro collaborativo in team
• creare un nuovo repository GIT
• eseguire commit del codice sviluppato
• rivedere la cronologia delle varie modifiche
• lavorare con i branch
• eseguire il merge nel progetto di vari sviluppi paralleli
• creare pull request per le modifiche al progetto
• padroneggiare il processo di revisone del codice
• gestire approvazioni e modifiche di una pull request
• monitorare lo stato del repository tramite GitHub
• creazione di una Single Page Application in React
• capiremo come usare build - lint - test
• impareremo ad eseguire la distribuzione dell’applicazione
• definire una metodologia di lavoro collaborativo in team
• creare un nuovo repository GIT
• eseguire commit del codice sviluppato
• rivedere la cronologia delle varie modifiche
• lavorare con i branch
• eseguire il merge nel progetto di vari sviluppi paralleli
• creare pull request per le modifiche al progetto
• padroneggiare il processo di revisone del codice
• gestire approvazioni e modifiche di una pull request
• monitorare lo stato del repository tramite GitHub
• creazione di una Single Page Application in React
• capiremo come usare build - lint - test
• impareremo ad eseguire la distribuzione dell’applicazione
REQUISITI
Conoscere un qualsiasi linguaggio di programmazione
A CHI È RIVOLTO
Il corso è rivolto a tutti gli sviluppatori che vogliono approcciarsi al versionamento del codice e imparare a lavorare in team distribuiti.
Durata: 8 ore (1g)
Livello: Principiante
Tipologia: in aula o da remoto
PROGRAMMA
1. Introduzione a GIT
In questa prima fase andremo ad installare GIT sulla macchina locale, creando il primo repository remoto atto a ricevere il nostro codice. Sincronizzeremo poi il repository remoto con cartella locale del nostro pc.
• verifica/installazione GIT in locale (Win/MacOS/Linux)
• setup progetto su GitHub (o su eventuale altro repository utilizzato aziendalmente)
• download progetto in locale per iniziare gli sviluppi
2. Apprendimento comandi base propedeutici al corso
In questa fase andremo ad imparare la maggior parte dei comandi base di GIT.
Grazie a questo passaggio saremo poi in grado di apprendere al meglio come lavorare in team e versionare il nostro progetto.
• inizializzazione repository GIT
• allineamento modifiche GIT al codice del progetto
• versionamento del codice tramite comandi GIT add/git commit
• modifica di commit parziali e/o errati
• sviluppo funzionalità in parallelo ad altri membri del team
• merge degli sviluppi paralleli
3. Creazione progetto Javascript
In questa fase andremo a creare un progetto JavaScript ES6 che sarà utilizzato nei capitoli successivi per simulare la gestione di un progetto in un team di sviluppatori
• creazione progetto JavaScript ES6
4. Iniziamo a versionare il codice
Utilizzando il repository locale precedentemente creato andremo a eseguire i primi commit.
• creazione prima funzionalità
• esecuzione del primo commit
• modificare un commit già eseguito
• sincronizzazione del repository locale con remoto
• verifica nel repository remoto del lavoro precedentemente svolto
5. Creare il primo branch
Iniziamo lo sviluppo di una nuova funzionalità e ci avvaliamo del comando branch per gestire al meglio il nostro repository. Impareremo a monitorare e gestire la “storia” di un repository GIT e a verificare eventuali differenze con gli altri branch.
• creazione nuovo branch per sviluppare una nuova funzionalità
• esecuzione merge del codice nel ramo principale master
• impareremo a gestire eventuali conflitti in fase di merge
6. Lavorare in team con GIT
In questo capitolo vedremo come condividere il progetto all'interno del team simulando delle modifiche collaborative.
• creazione nuovo branch per sviluppare una nuova funzionalità
• sviluppo della nuova funzionalità
• sincronizzazione del codice con il repository remoto
7. Creiamo la nostra prima Pull Request (PR)
In questo capitolo vedremo come creare la nostra prima pull request che darà atto poi alla modifica del codice del progetto.
Capiremo poi l’importanza di una revisione delle modifiche che entrano nel progetto e vedremo come padroneggiare al meglio questo processo.
In questo capitolo andremo a simulare il lavoro collaborativo tra team mirato alla correttezza e pulizia del codice tramite processo di code review.
In questo capitolo andremo a simulare il lavoro collaborativo tra team mirato alla correttezza e pulizia del codice tramite processo di code review.
• creazione nuovo branch per sviluppare una nuova funzionalità
• configurare il repository per abilitare il processo di code review
• invio della pull request al processo di code review
• eseguire una code review
• approvazione della PR
• richiedere la modifica di una PR
• effettuare la modifica di una PR
Esercitazioni pratiche
Ogni capitolo è accompagnato da esercitazioni pratiche svolte dagli studenti allo scopo di assimilare tutti i concetti descritti durante il corso.
MODALITÀ LEZIONI
TEORIA

Sessioni di teoria per l'apprendimento degli argomenti affrontati durante il corso ed esercitazioni pratiche eseguite dal/dai docenti per la simulazione di scenari e casi d'uso reali
ESERCITAZIONI STUDENTI

Ogni argomento include delle esercitazioni pratiche che i partecipanti potranno svolgere durante (e dopo) il corso allo scopo di consolidare i concetti acquisiti
ISTRUTTORE:
GIORGIO BOA
GIORGIO BOA

FULL STACK DEVELOPER
Giorgio Boa, fullstack developer con più di 12 anni di esperienza tra applicazioni enterprise per piattaforme desktop, web e mobile native.
Speaker in svariati eventi italiani, mi occupo di argomenti che riguardano il modo Front-End, DevOps e architetture applicative.
Attualmente fullstack developer in Targa Telematics, offro consulenza e attività di formazione in ambito Git e DevOps.
Speaker in svariati eventi italiani, mi occupo di argomenti che riguardano il modo Front-End, DevOps e architetture applicative.
Attualmente fullstack developer in Targa Telematics, offro consulenza e attività di formazione in ambito Git e DevOps.
ISTRUTTORE:
FABIO BIONDI
FABIO BIONDI

TRAINER, SPEAKER, DEVELOPER
Mi chiamo Fabio Biondi, sono Microsoft MVP e Google Developer Expert in Angular e Web Technologies, e ho più di 15 anni di esperienza nella creazione di applicazioni web enterprise.
Sviluppatore, Istruttore e Speaker in numerosi eventi. Ho fondato e gestisco diverse community italiane che si occupano di Javascript, Angular, React e Opportunità per gli sviluppatori (più di 30000 membri).
Attualmente mi occupo di formazione e mentoring su Javascript / Typescript, Angular, React, Redux, NGRX, RxJS, Next e, recentemente, Lit e Web Components.
Mi occupo, inoltre, di creazione contenuti tecnici su YouTube (in italiano e in inglese) e sono partner su Twitch in cui mi trovate spesso in streaming (con ospiti, sessioni di formazione, live coding e studio di nuove tecnologie).
CERTIFICATIONI & AWARDS
Dal 2019: Microsoft MVP Dal 2018: Google Developer Expert in Web Technologies e Angular 2004-2011: Adobe Certified Expert & Instructor (Flex, AIR, Flash).

Sviluppatore, Istruttore e Speaker in numerosi eventi. Ho fondato e gestisco diverse community italiane che si occupano di Javascript, Angular, React e Opportunità per gli sviluppatori (più di 30000 membri).
Attualmente mi occupo di formazione e mentoring su Javascript / Typescript, Angular, React, Redux, NGRX, RxJS, Next e, recentemente, Lit e Web Components.
Mi occupo, inoltre, di creazione contenuti tecnici su YouTube (in italiano e in inglese) e sono partner su Twitch in cui mi trovate spesso in streaming (con ospiti, sessioni di formazione, live coding e studio di nuove tecnologie).
CERTIFICATIONI & AWARDS

COSA INCLUDE IL CORSO
Corso di formazione
8 ore (1g)
Dispense
PDF formato A4
Esercitazioni
GitBook
Codice Sorgente
Incluso
Attestato di partecipazione
PDF formato A4
FAQ
A chi è rivolto?
Non sono sicuro che questo corso sia adatto al mio team. Puoi aiutarmi ad orientarmi?
Posso modificare il programma e creare un corso personalizzato ?
Dove può essere erogato il corso?
Quanto costa?
C'è un quantitativo minimo di giornate da acquistare?
Il corso prevede esercitazioni per gli studenti?
Devo portare il mio laptop?