Skip to content

Tutto per WordPress, lo sviluppo web — e non solo

🚀 Git per principianti: prima guida per lavorare con GitHub

🚀 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:

1git --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.

1git config --global user.name "Your Name"
2git 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:

1git config --global core.editor "code --wait" # editor for commit messages
2git 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:

1git 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:

1ssh-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:

Output del comando ssh-keygen con chiave Ed25519 nel terminale

Ora copia la chiave pubblica negli appunti. Il comando dipende dal sistema operativo:

macOS:

1pbcopy < ~/.ssh/id_ed25519.pub

Linux (Ubuntu):

1cat ~/.ssh/id_ed25519.pub

Windows (Git Bash):

1clip < ~/.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:

Menu impostazioni account GitHub con voce Settings

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

Pagina gestione chiavi SSH e GPG nelle impostazioni di GitHub

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:

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:

1git init # Git initialization in folder
2git add . # index all files
3git commit -m "First commit" # fix state

Collega la cartella locale al repository remoto e invia le modifiche:

1git remote add origin [email protected]:yourname/yourproject.git
2git 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:

Pulsante Code per clonare la repository su GitHub

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

Finestra di clonazione con schede HTTPS e SSH su GitHub

Copia l'URL ed esegui nel terminale:

1git 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:

1git switch feature-branch # switch to existing branch
2git switch -c new-feature # create new branch and switch
3git 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 stash e git cherry-pick non 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, poi git push -u origin main e git 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 ripeti git push. L'opzione --rebase posiziona 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, usa git 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.