
🚀 Git per principianti: prima guida per lavorare con GitHub
Hai scritto del codice, ma hai paura di rompere la versione funzionante. Oppure lavori in team e perdi traccia di chi ha fatto cosa e quando. O magari vuoi solo tornare indietro da un esperimento fallito con un solo comando.
Tutto questo si risolve con Git, un sistema di controllo versione di cui nessun progetto moderno può fare a meno. Ma la barriera d'ingresso spaventa molti: terminale, chiavi SSH, branch, pull request.
In realtà, il flusso di lavoro base si impara in un'ora. Questa guida serve proprio a questo: dall'installazione al primo push, senza fronzoli e teoria superflua.
💡 Panoramica rapida:
- Installa Git per il tuo sistema operativo e imposta il tuo nome utente con un comando
- Genera una chiave SSH Ed25519 e collegala al tuo account GitHub
- Crea un repository, collegalo a una cartella locale ed esegui il primo push
- Clona un repository esistente via HTTPS o SSH per lavorarci in locale
- Padroneggia i comandi moderni git switch e git restore invece di git checkout
1. Installare Git
Git funziona su Windows, macOS e Linux. Il metodo più affidabile è scaricare il programma di installazione dal sito ufficiale git-scm.com.
Per Windows, scarica la versione a 64 bit. Durante l'installazione, la procedura guidata proporrà di scegliere un editor predefinito, la strategia di gestione dei fine riga e il terminale. Per un principiante, i valori predefiniti vanno bene, tranne che per l'editor: invece di Vim, è più comodo scegliere Nano o VS Code.
Una guida dettagliata per installare Git su Windows (con screenshot di ogni passaggio della procedura guidata) è già disponibile sul nostro blog: come installare Git su Windows.
Verifica che Git sia installato correttamente:
1 git --version
Se il terminale mostra una versione (ad esempio, git version 2.48.0), l'installazione è riuscita.
2. Configurazione iniziale di Git
Prima del tuo primo commit, Git ha bisogno di una presentazione. Il nome e l'email appariranno nella cronologia di ogni modifica, permettendo ai colleghi di capire chi ha fatto la modifica.
1 git config --global user.name "Your Name" 2 git config --global user.email "[email protected]"
Il flag --global scrive le impostazioni in modo globale, saranno applicate a tutti i repository sulla macchina. Se un progetto specifico ha bisogno di dati diversi, ripeti il comando senza --global mentre ti trovi nella cartella del progetto.
Altri due flag utili:
1 git config --global core.editor "code --wait" # editor for commit messages 2 git config --global init.defaultBranch main # default branch is main, not master
Dal 2020, GitHub crea i repository con un branch main invece di master. La riga init.defaultBranch main sincronizza la tua installazione locale con questo standard, evitando confusione futura.
Verifica tutto in una volta sola:
1 git config --list
2. Chiave SSH e connessione a GitHub
GitHub ha disattivato il supporto all'autenticazione via password per le operazioni Git nel 2021. Oggi lo standard sono le chiavi SSH e l'algoritmo è Ed25519 (più compatto e sicuro del superato RSA).
Genera una chiave:
1 ssh-keygen -t ed25519 -C "[email protected]"
Premi Invio tre volte: una passphrase vuota va bene per lo sviluppo in locale. Il terminale mostrerà l'impronta digitale e il percorso della chiave:

Ora copia la chiave pubblica negli appunti. Il comando dipende dal sistema operativo:
macOS:
1 pbcopy < ~/.ssh/id_ed25519.pub
Linux (Ubuntu):
1 cat ~/.ssh/id_ed25519.pub
Windows (Git Bash):
1 clip < ~/.ssh/id_ed25519.pub
Non resta che aggiungere la chiave a GitHub. Accedi al tuo account, clicca sull'avatar in alto a destra e seleziona Settings:

Nella barra laterale, vai alla scheda SSH and GPG keys:

Clicca il pulsante verde New SSH Key. Nel campo Title, assegna alla chiave un nome significativo (ad esempio, "Asus Laptop"), nel campo Key incolla il contenuto degli appunti e clicca Add SSH Key.
Verifica la connessione:
1 ssh -T [email protected]
Una risposta Hi username! You've successfully authenticated... significa che tutto è configurato correttamente.
4. Creare un repository e prima sincronizzazione
Su github.com/new crea un nuovo repository: assegna un nome, lascia Pubblico o scegli Privato, NON spuntare "Add a README file" (altrimenti ci sarà un conflitto al primo push).
Ora nel terminale, spostati nella cartella del progetto ed esegui la sequenza:
1 git init # Git initialization in folder 2 git add . # index all files 3 git commit -m "First commit" # fix state
Collega la cartella locale al repository remoto e invia le modifiche:
1 git remote add origin [email protected]:yourname/yourproject.git 2 git push -u origin main
Il flag -u memorizza il collegamento "branch locale → remoto". La prossima volta basterà un semplice git push.
Non dimenticare .gitignore, elenca i file che non devono finire nel repository (log, file temporanei dell'IDE, cartelle di dipendenze come node_modules/). Template già pronti per qualsiasi stack si trovano su gitignore.io.
5. Clonare un repository
Clonare significa scaricare il repository di qualcun altro (o il tuo, ma da GitHub) sulla macchina locale con tutta la cronologia delle modifiche.
Nella pagina del repository, clicca il pulsante verde Code:

Si aprirà una finestra con tre opzioni. Scegli SSH (se hai configurato una chiave nel passo 3) o HTTPS:

Copia l'URL ed esegui nel terminale:
1 git clone [email protected]:username/repository.git
Git creerà una cartella con il nome del repository e scaricherà tutti i file più la cronologia. Dopo la clonazione, puoi iniziare subito a lavorare.
Per la navigazione quotidiana tra i branch, usa i comandi moderni:
1 git switch feature-branch # switch to existing branch 2 git switch -c new-feature # create new branch and switch 3 git restore file.txt # roll back changes in file
Hanno sostituito il sovraccarico git checkout in Git 2.23 e da allora sono diventati lo standard. git checkout non è scomparso, ma switch e restore sono più sicuri e intuitivi.
Se preferisci un'interfaccia grafica, GitHub Desktop offre una gestione visuale di clonazione, commit e branch senza il terminale.
Video: corso completo di Git e GitHub in 2 ore
Per consolidare i concetti, guarda un video tutorial completo in inglese, dall'installazione agli scenari avanzati di collaborazione in team:
⁉️🤔 Domande frequenti
Che differenza c'è tra Git e GitHub?
Git è un programma di controllo versione che gira sul tuo computer. GitHub è un servizio web che archivia repository Git nel cloud e aggiunge strumenti di collaborazione: pull request, code review, issue. Le alternative sono GitLab e Bitbucket. Git può funzionare anche senza GitHub, ma GitHub non può esistere senza Git.
Devo imparare la riga di comando se esiste GitHub Desktop?
GitHub Desktop copre la maggior parte delle attività quotidiane, ma il terminale dà il controllo completo. Comandi come
git rebase,git stashegit cherry-picknon sono sempre immediati nell'interfaccia grafica. Gli scenari CI/CD, server e DevOps funzionano solo da CLI. Il nostro consiglio: inizia con Desktop e impara la riga di comando in parallelo, 2-3 comandi alla volta.
Posso rinominare il branch master in main in un progetto esistente?
Sì, ed è una pratica standard. Esegui:
git branch -m master main, poigit push -u origin mainegit push origin --delete master. Dopodiché, nelle impostazioni del repository su GitHub, imposta main come branch predefinito.
Cosa fare se Git rifiuta un push con l'errore "failed to push some refs"?
Quasi sempre il motivo è che il repository remoto ha commit che non hai in locale. Prima esegui
git pull --rebase origin main, risolvi eventuali conflitti, poi ripetigit push. L'opzione--rebaseposiziona i tuoi commit sopra quelli remoti, mantenendo la cronologia lineare.
Come annullare l'ultimo commit non ancora inviato su GitHub?
git reset --soft HEAD~1: il commit sparirà, ma le modifiche resteranno nell'indice (staged). Puoi correggere e fare un nuovo commit. Se le modifiche non servono affatto, usagit reset --hard HEAD~1, ma attenzione: il reset hard scarta i file in modo irreversibile.
Prossimi passi: il tuo primo flusso di lavoro
Il quadro generale dopo questa guida: Git è installato, la chiave SSH è collegata, il repository è creato e sincronizzato. Sei passato da zero a un ambiente pronto per lavorare.
Il passo successivo è la pratica. Inizia in piccolo: fai tre commit significativi su un progetto di test, apri un branch con git switch -c, aggiungi un file e invia una pull request per fare il merge su main. Questo ciclo esatto (commit → branch → PR → merge) si ripete ogni giorno in qualsiasi team.
E quando ti sentirai a tuo agio, torna da noi per gli argomenti avanzati: git rebase, stash interattivo, risoluzione dei conflitti di merge e configurazione della CI/CD con GitHub Actions.



