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 configurato credential.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
3. GitHub Cheat Sheet
4. Guide per la Gestione delle Credenziali
5. Risorse Interattive
6. Video e Corsi Online