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 storeQuesto 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-credentialsDopo 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-credentialscon un editor di testo e aggiornare direttamente il nome utente o la password. Il contenuto del file è in questo formato:
https://username:password@github.comAggiorna 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--onelineper una visualizzazione compatta:
git log
git log --oneline3. 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-Dper forzare):
git branch -d nome-del-branch4. 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-localeOppure, per creare e associare un nuovo branch remoto in un solo comando, puoi usare push -u:
git push -u origin nome-branch-localeQuesto 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-upstreamOppure, specificando il nome del branch locale:
git branch --unset-upstream nome-branch-locale5. 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-branchRicevi gli aggiornamenti dal repository remoto:
git pull origin nome-del-branch6. 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.0Per inviare tutti i tag:
git push origin --tags7. 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 popOppure 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 clear8. 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-nomeLinkografia 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 comestoreecache. - 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: