Git da zero a sviluppatore sicuro
Padroneggia Git per lavorare con sicurezza in team, gestire al meglio la storia del progetto e superare con successo i colloqui tecnici – dal primo commit fino alla pull request in un repository reale.
Per chi è questo corso
Programmatori principianti che scrivono già codice in qualsiasi linguaggio, ma che non hanno mai lavorato seriamente con un sistema di controllo versione o conoscono Git in modo superficiale e desiderano mettere ordine nelle proprie conoscenze prima di entrare nel mercato del lavoro.
Prerequisiti
Competenze di base nell'uso della riga di comando: navigare tra le cartelle, creare e cancellare file. Saper scrivere codice semplice in qualsiasi linguaggio – il linguaggio non è importante, conta il fatto che abbiate già una certa esperienza di programmazione.
Contenuto del corso
13 Lezioni
Perché serve Git — e perché senza non ti assumono
Non inizieremo con i comandi, ma con il dolore: vedremo come appare lo sviluppo senza controllo di versione — cartelle «progetto_finale_2», «progetto_finale_DAVVERO_FINALE» e la paura di cancellare qualcosa di troppo. Capirete quale problema risolve esattamente Git, perché è diventato lo standard del settore e cosa controlla concretamente un datore di lavoro quando guarda il vostro profilo GitHub.
sistema di controllo versione
storico delle modifiche
architettura distribuita
22 min
Dopo la registrazione
Installazione e configurazione: prepariamo Git al primo avvio
Installeremo Git su Windows, macOS e Linux, analizzeremo perché la configurazione di nome ed email non è una formalità, ma parte della storia dei commit. Configureremo un terminale comodo e alcuni alias utili, per lavorare fin dal primo giorno in modo confortevole, senza soffrire con comandi troppo lunghi.
installazione di Git
git config
configurazione globale
18 min
In abbonamento
Abbonati
Primo repository: init, add, commit e la magia dell'indice
Creiamo il primo repository e subito incontriamo un concetto che molti non capiscono per anni: l'area di staging (indice). Analizzeremo a cosa serve questo 'strato intermedio' tra la cartella di lavoro e la cronologia, e vedremo con esempi perché proprio il sistema a due fasi add → commit rende i commit significativi e non casuali.
repository
area di staging
commit
28 min
In abbonamento
Abbonati
Leggiamo la storia: log, diff, show e navigazione nel passato
La storia di un progetto non è solo un registro, è una documentazione delle decisioni. Impareremo a leggere la storia in modo informativo: filtrare i commit, vedere cosa è cambiato tra le versioni e comprendere gli hash SHA-1 senza timore. Inoltre, vedremo come distinguere una 'buona storia' da una 'spazzatura' – questo influisce direttamente su come venite percepiti nel team.
hash del commit
git log
git diff
25 min
In abbonamento
Abbonati
Branch: la realtà parallela del tuo codice
I branch sono il cuore di Git, ed è qui che molti principianti iniziano ad avere paura. Demistificheremo i branch: mostreremo che un branch è solo un puntatore, non una copia dei file. Analizzeremo come creare branch, passare da uno all'altro e unire le modifiche, e vedremo la differenza tra un merge fast-forward e un merge a tre vie con esempi pratici.
branch
HEAD
merge
32 min
In abbonamento
Abbonati
Annullare gli errori: restore, reset, revert — correttamente e con cautela
Uno degli argomenti più richiesti nei colloqui e nel lavoro reale è come annullare ciò che è già stato fatto. Analizzeremo tre strumenti con diversa 'profondità' di annullamento e ci concentreremo sull'aspetto più importante: mostreremo scenari concreti in cui reset --hard distrugge il lavoro di squadra, mentre revert è un'alternativa sicura. Soluzioni giuste e sbagliate — con conseguenze reali.
git restore
git reset
git revert
30 min
In abbonamento
Abbonati
GitHub e repository remoti: il tuo codice nel cloud
Passiamo dal lavoro locale a quello di squadra: capiamo cosa sono i remote, come collegare un repository locale a GitHub e qual è la differenza tra push, pull e fetch — i tre comandi che più spesso creano confusione. Approfondiremo inoltre l'autenticazione tramite chiavi SSH, perché i datori di lavoro si aspettano che tu le configuri da solo.
remote
origin
push / pull / fetch
27 min
In abbonamento
Abbonati
Lavoro di squadra: fork, feature branch e pull request
Questa sezione descrive come funziona il 90% dei team open-source e aziendali. Seguiremo l'intero ciclo: fork → feature branch → commit → pull request → code review → merge. Analizzeremo separatamente come scrivere la descrizione di una PR affinché il revisore comprenda immediatamente il contesto e quali errori nella PR tradiscono subito un principiante.
fork
pull request
code review
33 min
In abbonamento
Abbonati
Conflitti di unione: niente panico — analizziamo e risolviamo
I conflitti spaventano i principianti, ma dopo questa sezione li affronterete con calma. Analizzeremo perché si verificano i conflitti (Git non legge nel pensiero — non sa quale modifica è più importante), come interpretare i marcatori di conflitto e come scegliere la soluzione giusta. Mostreremo due approcci: la risoluzione manuale e l'uso di strumenti di merge.
conflitto di unione
marcatori di conflitto
risoluzione del conflitto
28 min
In abbonamento
Abbonati
Processi Git nei team reali: quale workflow scegliere
Durante i colloqui viene spesso chiesto: «Quale Git-workflow hai usato?» Dopo questa sezione avrai una risposta onesta e dettagliata. Esamineremo tre approcci popolari — Feature Branch Workflow, Git Flow e Trunk-Based Development — e analizzeremo dove ciascuno funziona bene e dove invece diventa un ostacolo.
Feature Branch Workflow
Git Flow
Trunk-Based Development
23 min
In abbonamento
Abbonati
Strumenti avanzati: rebase, stash, cherry-pick e tag
Passiamo agli strumenti che distinguono un utente sicuro di Git da chi conosce solo le basi. Analizzeremo rebase come alternativa a merge, mostrando quando rende la cronologia più pulita e quando la trasforma in un incubo. Aggiungeremo stash per 'mettere da parte' rapidamente il lavoro non finito, cherry-pick per il trasferimento selettivo di commit e tag per marcare le versioni di rilascio.
git rebase
git stash
git cherry-pick
35 min
In abbonamento
Abbonati
Progetto finale: simuliamo uno sviluppo di gruppo reale
Applicherete tutto ciò che avete imparato in uno scenario coerente: siete uno sviluppatore in un piccolo team che deve aggiungere una nuova funzionalità, correggere un bug e pubblicare un rilascio. Passo dopo passo, percorreremo l'intero ciclo: creazione del repository, lavoro sui rami, pull request, conflitti creati intenzionalmente e la loro risoluzione, rebase per pulire la cronologia e il tag finale di rilascio. Alla fine avrete un repository reale da mostrare a un potenziale datore di lavoro.
Flusso di lavoro Git completo
Sviluppo collaborativo
Ciclo di rilascio
35 min
In abbonamento
Abbonati