Git: Breviario dei Comandi Fondamentali
Ecco un "breviario" su Git, con una panoramica dei comandi più utili per la gestione dei branch, del flusso di lavoro e per operazioni più avanzate come tag, stash e repository remoti. Questo piccolo compendio può aiutarti a navigare le funzionalità essenziali di Git in modo efficace.
1. Configurazione di Base
- Configurazione Globale dell’Utente
Imposta il nome utente e l’email per i commit di Git:
git config --global user.name "Nome Cognome"
git config --global user.email "tuo@email.com"
- Salvataggio delle Credenziali
Per evitare di inserire ogni volta nome utente e password, puoi memorizzare le credenziali in locale utilizzando:
git config --global credential.helper store
Questo comando salva le credenziali in un file di testo non criptato sul tuo computer. La posizione di questo file varia a seconda del sistema operativo:
- Linux/MacOS:
~/.git-credentials
- Windows:
C:\Users\TuoNomeUtente\.git-credentials
Dopo aver configuratocredential.helper store
, la prima volta che effettui un push Git ti chiederà le credenziali e le memorizzerà automaticamente nel file. - Modificare le Credenziali Salvate
Se desideri modificare le credenziali, puoi aprire il file.git-credentials
con un editor di testo e aggiornare direttamente il nome utente o la password. Il contenuto del file è in questo formato:
https://username:password@github.com
Aggiorna username
e password
come necessario e salva il file.
2. Status e Log
- Status
Visualizza lo stato del repository, inclusi i file modificati e quelli in fase di staging:
git status
- Log
Mostra la cronologia dei commit. Utilizza--oneline
per una visualizzazione compatta:
git log
git log --oneline
3. Gestione dei Branch
- Creare un Nuovo Branch
Crea un nuovo branch:
git branch nome-del-branch
- Spostarsi su un Branch
Passa a un branch esistente:
git checkout nome-del-branch
- Creare e Spostarsi su un Branch
Crea un nuovo branch e passa subito ad esso:
git checkout -b nome-del-branch
- Eliminare un Branch
Cancella un branch locale (usa-D
per forzare):
git branch -d nome-del-branch
4. Associare e Dissociare un Branch Locale a un Repository Remoto
- Associare un Branch Locale a un Branch Remoto Esistente Per collegare un branch locale a un branch remoto esistente, puoi usare:
git branch --set-upstream-to=origin/nome-branch-remoto nome-branch-locale
Oppure, per creare e associare un nuovo branch remoto in un solo comando, puoi usare push -u
:
git push -u origin nome-branch-locale
Questo comando crea il branch remoto (se non esiste già), invia le modifiche e imposta l’associazione per i futuri pull
e push
.
- Verificare l’Associazione tra Branch Locale e Remoto
Per vedere se un branch locale è associato a un branch remoto e quale sia il branch remoto collegato:
git branch -vv
- Dissociare un Branch Locale da un Branch Remoto
Se vuoi rimuovere l’associazione tra un branch locale e il branch remoto:
git branch --unset-upstream
Oppure, specificando il nome del branch locale:
git branch --unset-upstream nome-branch-locale
5. Commit e Sincronizzazione
- Aggiungere i Cambiamenti
Aggiungi tutti i cambiamenti al “staging area”:
git add .
- Eseguire un Commit
Registra le modifiche con un messaggio:
git commit -m "Messaggio del commit"
- Sincronizzare con il Repository Remoto
Invia i cambiamenti al branch remoto:
git push origin nome-del-branch
Ricevi gli aggiornamenti dal repository remoto:
git pull origin nome-del-branch
6. Tag
- Creare un Tag
Assegna un tag a un commit (utile per versioning):
git tag -a v1.0 -m "Versione 1.0"
- Visualizzare i Tag
Mostra l’elenco dei tag presenti:
git tag
- Spingere i Tag su Remoto
Invia un tag specifico al repository remoto:
git push origin v1.0
Per inviare tutti i tag:
git push origin --tags
7. Stash
- Creare uno Stash
Salva le modifiche correnti senza fare un commit, per poter passare a un altro branch:
git stash
- Visualizzare gli Stash
Mostra l’elenco degli stash salvati:
git stash list
- Ripristinare uno Stash
Applica l’ultimo stash e lo rimuove dalla lista:
git stash pop
Oppure applica uno stash specifico senza rimuoverlo:
git stash apply stash@{n}
- Eliminare uno Stash
Cancella uno stash specifico:
git stash drop stash@{n}
O elimina tutti gli stash:
git stash clear
8. Gestione dei Repository Remoti
- Aggiungere un Repository Remoto
Collega un repository remoto con un nome (es.origin
):
git remote add origin https://github.com/user/repo.git
- Visualizzare i Remoti
Elenca i repository remoti collegati:
git remote -v
- Modificare l’URL di un Repository Remoto
Cambia l’URL di un repository remoto (es.origin
):
git remote set-url origin https://github.com/user/nuovo-repo.git
- Rimuovere un Repository Remoto
Elimina un repository remoto:
git remote remove origin
- Rinominare un Repository Remoto
Cambia il nome di un repository remoto:
git remote rename vecchio-nome nuovo-nome
Linkografia Essenziale per Git
1. Documentazione Ufficiale di Git
- Sito Ufficiale di Git
La documentazione ufficiale di Git è il punto di partenza migliore per esplorare tutte le funzionalità di Git. - Git Book (Pro Git)
Un libro completo su Git, scritto da Scott Chacon e Ben Straub. È gratuito e disponibile online.
2. Guide e Tutorial
- Guida Introduttiva di GitHub
GitHub fornisce una guida introduttiva su Git e GitHub, particolarmente utile per chi è agli inizi. - Atlassian Git Tutorial
Atlassian ha creato un ottimo tutorial su Git, che copre concetti di base e avanzati, inclusi branching, merging, e altro. - GitLab Learning Portal
GitLab offre risorse didattiche e tutorial pratici su Git, con una sezione dedicata alle best practice.
3. GitHub Cheat Sheet
- Cheat Sheet Ufficiale di GitHub Una guida rapida ai comandi più comuni di Git, utile da stampare o tenere a portata di mano.
4. Guide per la Gestione delle Credenziali
- Git Credential Storage
Una pagina della documentazione di Git che spiega come memorizzare le credenziali utilizzando helper comestore
ecache
. - GitHub: Configurare Git per salvare le credenziali
Guida ufficiale di GitHub per configurare Git e salvare le credenziali di accesso.
5. Risorse Interattive
- Learn Git Branching
Un sito interattivo che permette di imparare i concetti di branching e merging tramite esercizi visuali. - Codecademy: Learn Git
Un corso introduttivo gratuito su Git, che copre i comandi di base e il workflow di Git. - Git Immersion
Una guida pratica per chi desidera un’introduzione strutturata a Git, con esercizi passo a passo.
6. Video e Corsi Online
- LinkedIn Learning (ex Lynda)
Ha una serie di corsi su Git, adatti sia ai principianti che agli utenti avanzati. Richiede un abbonamento. - YouTube – Git Tutorial for Beginners
YouTube offre molti tutorial gratuiti. In particolare, il corso di “Traversy Media” è una buona introduzione: