Improving Git
Approfondiamo la nostra conoscenza di Git: strategie di branching, gitflow, ed una carrellata dei comandi piu utilizzati nel lavoro di tutti i giorni. In questo secondo corso completeremo il nostro percorso per poter sfruttare al massimo Git come strumento di gestione, non solo del nostro codice sorgente, ma dell'intero processo di sviluppo.
Cosa imparerai
Strategie di Branching
Gitflow e GitVersion
Panoramica dei comandi usati tutti i giorni
Lezioni del corso
-
Prerequisiti ed obiettivi del corso
-
Introduzione
Prerequisiti ed obiettivi del corso
-
Slides
-
-
Uniformiamo l’uso delle branch per tutti i membri del team
-
Introduzione
-
Demo 1
Utilizzo del carattere / per raggruppare branches dallo stesso scopo
-
Commenting
Naming branches, strategie di reintegro e nomenclatura
-
Demo 2
Utilizzare nomenclatura branch basata sugli Issue di GitHub
-
Demo 3
Connessione branch feature su Azure DevOps
-
Demo 4
Collegare un commit ad un Issue/WorkItem tramite commento in GitHub
-
Demo 4
Collegare un commit ad un Issue/WorkItem tramite commento in Azure DevOps
-
GitFlow
Probabilmente la strategia di Branching più utilizzata a causa della sua semplicità e completezza
-
GitFlow in pillole
-
Demo 6
GitFlow scenari base con in command line
-
Demo 6
Come GitFlow gestisce la creazione di nuovi branch
-
Demo 6
Chiusura di una feature o bugfix con GitFlow
-
Demo 6
Risoluzione di bug in produzione con GitFlow
-
Demo 6
Come mantenere la linearità della storia quando si chiude un branch con GitFlow
-
Demo 6
Risoluzione di conflitti in GitFlow
-
Demo 6
GitFlow strumenti e reference
-
GitVersion
Panoramica sullo strumento
-
Demo 7
Installazione ed introduzione al funzionamento di GitVersion
-
Demo 7
Configurazione di GitVersion
-
GitFlow conclusione
-
Trunk-based development
Strategia minimale che mira a minimizzare l’uso delle branch senza perdere funzionalità
-
Demo 8
Trunk based development base in Git, probabilmente una brutta idea
-
GitHub flow
-
Demo 9
GitHub flow based Development
-
Pull Request introduzione
-
Demo 10
GitHub Pull Request concetti base
-
Scaled trunk-based development
-
Riepilogo e conclusioni
-
Slides
-
-
Approfondiamo comandi e concetti per l’uso di tutti i giorni
-
Introduzione
-
Scostamento temporale
-
Riferimento ancestor
-
Tag
-
Demo 1
-
Log e alias
-
Demo 2
Esempio di utilizzo della sintassi a doppio e triplo punto
-
Demo 2
Esempio di comando equivalente alla sintassi a triplo punto
-
Log, opzioni utili
Panoramica sulle opzioni più utili
-
Demo 3
Esempio di utilizzo del comando log
-
Log, formattazioni
Panoramica sulle tipologie formattazioni
-
Demo 4
Esempio di utilizzo della formattazione pretty
-
Log, reflog
Esempio di utilizzo di reflog attraverso il comando log
-
Alias
-
Demo 5
-
Configurare l’editor
-
Demo 6
-
Configurare il tool per il merge
-
Altre configurazioni interessanti
-
Configurazioni amministrative
-
Demo 7
-
Strumenti grafici
Valutazione degli impatti sulla produttività nell’utilizzo di strumenti grafici
-
Demo 8
Panoramica sull’utilizzo di Visual Studio Code
-
Demo 8
Panoramica sull’utilizzo delle interfacce web di GitHub ed Azure DevOps
-
Stash
-
Demo 9
-
Amend
-
Demo 10
-
Undo
-
Annullare commit nel passato
-
Cancellare vecchie branch
-
Demo 11
-
Comandi usati raramente
-
Slides
-
-
Capiamo come risolvere situazioni e problemi nell’uso quotidiano di Git
-
Introduzione
Capiamo come risolvere situazioni e problemi nell’uso quotidiano di Git
-
File modificati in develop
-
File modificati in una branch errata
-
File modificati in una branch errata
-
Commit errati su develop
-
Commit errati su develop, soluzione alternativa
-
Shortcut per fast forward
-
Commit su develop invece che su branch esistente
-
Commit(s) su feature sbagliata
-
Uso di tag come marker
-
Cosa succede se ho fatto push?
-
Edit non dell’ultimo commit
-
Demo 1
-
Demo 1
-
Commit split
-
Commit split
-
Cambio editor per singola operazione
-
Demo 2
-
Demo 2
-
Sviluppo feature collegate
-
Riallineamento features su develop
-
Utilizzare commit vuoti come marker
-
Utilizzare commit vuoti come marker
-
Riallineamento feature derivata su develop
-
Riallineamento feature derivata su develop
-
Conclusioni
-
Slides
-
Il 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.