Guida Rapida a Git

Comandi Essenziali di git.

Pubblicato:

Configurazione di Git

# Configura il nome utente a livello globale
git config --global user.name "Il Tuo Nome"

# Configura l'email utente a livello globale
git config --global user.email "la.tua.email@example.com"

# Verifica la configurazione globale
git config --list

# Configura il nome utente a livello locale (solo per il repository corrente)
git config user.name "Il Tuo Nome"

# Configura l'email utente a livello locale (solo per il repository corrente)
git config user.email "la.tua.email@example.com"

# Verifica la configurazione locale
git config --local --list

Creazione e Clonazione di Repository

# Inizializza un nuovo repository Git
git init

# Clona un repository esistente
git clone <url-del-repository>

Gestione dei File

# Aggiungi file all'area di staging
git add <file>

# Aggiungi tutti i file modificati all'area di staging
git add .

# Rimuovi file dall'area di staging
git reset <file>

# Controlla lo stato del repository
git status

# Mostra le differenze per i file modificati
git diff

Commit dei Cambiamenti

# Effettua un commit dei file nell'area di staging
git commit -m "Messaggio del commit"

# Effettua un commit saltando l'area di staging
git commit -a -m "Messaggio del commit"

Lavorare con i Branch

# Crea un nuovo branch
git branch <nome-branch>

# Passa a un branch esistente
git checkout <nome-branch>

# Crea e passa a un nuovo branch
git checkout -b <nome-branch>

# Elimina un branch
git branch -d <nome-branch>

Unire Branch

# Unisci un branch al branch corrente
git merge <nome-branch>

# Risoluzione dei conflitti di merge
# (Modifica i file con conflitti e poi)
git add <file-conflitto>
git commit -m "Risolto conflitto di merge"

Sincronizzazione con il Repository Remoto

# Aggiungi un repository remoto
git remote add origin <url-del-repository>

# Visualizza i repository remoti
git remote -v

# Scarica i cambiamenti dal repository remoto
git fetch

# Unisci i cambiamenti dal repository remoto
git pull

# Invia i cambiamenti al repository remoto
git push origin <nome-branch>

Git Stash: Salva le Modifiche Temporaneamente

# Salva le modifiche non committate
git stash

# Visualizza la lista degli stash
git stash list

# Recupera le modifiche dall'ultimo stash
git stash apply

# Recupera le modifiche da uno stash specifico
git stash apply stash@{2}

# Recupera le modifiche e rimuove lo stash
git stash pop

Git Reflog: Recupera i Commit Persi

# Mostra il registro dei riferimenti
git reflog

# Recupera un commit specifico da reflog
git checkout <commit-id>

Git Bisect: Trova il Commit che ha Introdotto un Bug

# Inizia una sessione bisect
git bisect start

# Specifica un commit "bad" (dove il bug è presente)
git bisect bad <commit-id>

# Specifica un commit "good" (dove il bug non è presente)
git bisect good <commit-id>

# Continua il processo con i test finché Git non trova il commit problematico
git bisect run <script-di-test>

Git Cherry-Pick: Applica i Commit Selezionati a un Altro Branch

# Applica un commit specifico al branch corrente
git cherry-pick <commit-id>

Git Shortlog: Genera un Registro di Commits Condensato

# Genera un log condensato
git shortlog

# Genera un log condensato e ordinato per numero di commit per autore
git shortlog -n -s

Git Blame: Scopri Chi ha Modificato Cosa

# Mostra chi ha modificato ogni riga di un file
git blame <file>

Git Grep: Cerca nel Codice

# Cerca una parola o una frase specifica nel repository
git grep "parola-chiave"

# Cerca una parola o una frase specifica nei commit
git log -S "parola-chiave"

Altri Comandi Utili

# Mostra il log dei commit
git log

# Mostra un log semplificato con i grafici dei branch
git log --oneline --graph --all

# Reimposta il branch corrente all'ultimo commit
git reset --hard

# Ripristina un file specifico all'ultimo commit
git checkout -- <file>

# Crea un tag
git tag <nome-tag>

# Elimina un tag
git tag -d <nome-tag>