Tutti gli strumenti
Gratuito

Un riferimento Git stampabile e ricercabile — configurazione, branch, merge, rebase, remote, stash, tag e annullamento delle modifiche. Gratis.

Configurazione e impostazioni

10
git config --global user.name "Jane Doe"
Imposta il nome associato ai commit
git config --global user.email "jane@example.com"
Imposta l'email associata ai commit
git config --global init.defaultBranch main
Fa partire i nuovi repo sul branch "main"
git config --global core.editor "code --wait"
Usa VS Code come editor Git predefinito
git config --global pull.rebase true
Rebase invece di merge durante il pull
git config --global alias.co checkout
Crea un alias scorciatoia (git co)
git config --global --list
Elenca tutti i valori di configurazione globale
git config user.email
Mostra l'email per il repo corrente
git config --global color.ui auto
Abilita l'output colorato della riga di comando
git help <command>
Apre la pagina di manuale di un comando

Crea e clona repo

9
git init
Inizializza un nuovo repo nella cartella corrente
git init my-project
Crea un nuovo repo in una nuova directory
git clone https://example.com/repo.git
Clona un repo remoto via HTTPS
git clone git@example.com:user/repo.git
Clona un repo remoto via SSH
git clone <url> my-dir
Clona in una directory con nome specifico
git clone --depth 1 <url>
Clone shallow con solo l'ultimo commit
git clone --branch dev <url>
Clona ed effettua il checkout di un branch specifico
git clone --recurse-submodules <url>
Clona e inizializza tutti i submodule
git remote add origin <url>
Collega un remote a un repo locale esistente

Staging e commit

11
git add file.txt
Mette in stage un singolo file per il prossimo commit
git add .
Mette in stage tutte le modifiche nella directory corrente
git add -A
Mette in stage tutte le modifiche, incluse le eliminazioni
git add -p
Mette in stage interattivamente gli hunk selezionati
git commit -m "Add login form"
Esegue il commit delle modifiche in stage con un messaggio
git commit -am "Fix typo"
Stage dei file tracciati e commit in un unico passo
git commit --amend
Modifica il commit più recente
git commit --amend --no-edit
Aggiunge le modifiche in stage all'ultimo commit
git rm file.txt
Rimuove un file e mette in stage l'eliminazione
git mv old.txt new.txt
Rinomina o sposta un file e lo mette in stage
git reset file.txt
Toglie un file dallo stage mantenendone le modifiche

Branch

10
git branch
Elenca tutti i branch locali
git branch -a
Elenca i branch locali e di remote-tracking
git switch -c feature/login
Crea un nuovo branch e vi passa
git switch main
Passa a un branch esistente
git checkout -b hotfix
Modo classico per creare e cambiare branch
git branch -m old-name new-name
Rinomina un branch
git branch -d feature/login
Elimina un branch locale già unito
git branch -D feature/login
Forza l'eliminazione di un branch locale non unito
git push origin --delete feature/login
Elimina un branch sul remote
git switch -
Torna al branch precedente

Merge e rebase

10
git merge feature/login
Unisce un branch in quello corrente
git merge --no-ff feature/login
Unisce creando sempre un commit di merge
git merge --squash feature/login
Combina un branch in una singola modifica in stage
git merge --abort
Annulla un merge con conflitti
git rebase main
Riapplica i commit del branch corrente su main
git rebase -i HEAD~3
Modifica interattivamente gli ultimi 3 commit
git rebase --continue
Riprende un rebase dopo aver risolto i conflitti
git rebase --abort
Annulla un rebase in corso
git cherry-pick <hash>
Applica un singolo commit sul branch corrente
git mergetool
Avvia uno strumento per risolvere i conflitti di merge

Remote e sincronizzazione

11
git remote -v
Elenca i remote configurati e i loro URL
git remote add upstream <url>
Aggiunge un secondo remote chiamato upstream
git remote set-url origin <url>
Cambia l'URL di un remote esistente
git fetch
Scarica le modifiche remote senza unirle
git fetch --all --prune
Fetch di tutti i remote e rimuove i branch obsoleti
git pull
Fetch e integra le modifiche remote
git pull --rebase
Pull con rebase dei commit locali in cima
git push
Carica i commit locali sul remote
git push -u origin main
Push e imposta il branch di tracking upstream
git push --force-with-lease
Force-push sicuro senza sovrascrivere il lavoro altrui
git push origin --tags
Push di tutti i tag locali sul remote

Ispezione e confronto

10
git status
Mostra file in stage, fuori stage e non tracciati
git status -s
Mostra lo stato in formato breve e compatto
git diff
Mostra le modifiche fuori stage rispetto all'indice
git diff --staged
Mostra le modifiche in stage per il prossimo commit
git diff main..feature
Confronta due branch
git diff HEAD~1 HEAD
Confronta l'ultimo commit con il suo genitore
git show <hash>
Mostra i dettagli e il diff di un commit
git show HEAD:file.txt
Mostra un file com'era in un commit
git log --stat
Mostra i commit con il riepilogo dei file modificati
git shortlog -sn
Conta i commit raggruppati per autore

Annullare le modifiche

10
git restore file.txt
Scarta le modifiche fuori stage in un file
git restore --staged file.txt
Toglie un file dallo stage mantenendone le modifiche
git restore --source=HEAD~1 file.txt
Ripristina un file da un commit precedente
git checkout -- file.txt
Modo classico per scartare le modifiche locali
git reset --soft HEAD~1
Annulla l'ultimo commit, mantiene le modifiche in stage
git reset --mixed HEAD~1
Annulla l'ultimo commit, mantiene le modifiche fuori stage
git reset --hard HEAD~1
Annulla l'ultimo commit e scarta le modifiche
git revert <hash>
Crea un nuovo commit che annulla un commit
git clean -fd
Elimina file e directory non tracciati
git clean -nd
Anteprima di ciò che clean rimuoverebbe

Stash

10
git stash
Salva le modifiche non committate e pulisce l'albero
git stash push -m "wip"
Salva le modifiche in stash con un messaggio descrittivo
git stash -u
Stash inclusi i file non tracciati
git stash list
Elenca tutti i set di modifiche in stash
git stash show -p
Mostra il diff dell'ultimo stash
git stash apply
Riapplica l'ultimo stash mantenendolo
git stash pop
Riapplica l'ultimo stash ed eliminandolo
git stash apply stash@{2}
Riapplica uno stash specifico per indice
git stash drop stash@{0}
Elimina una singola voce dello stash
git stash clear
Elimina tutte le voci dello stash

Tag

9
git tag
Elenca tutti i tag
git tag v1.0.0
Crea un tag lightweight su HEAD
git tag -a v1.0.0 -m "Release 1.0.0"
Crea un tag annotato con un messaggio
git tag -a v1.0.0 <hash>
Crea un tag su un commit passato specifico
git show v1.0.0
Mostra i dettagli di un tag
git push origin v1.0.0
Push di un singolo tag sul remote
git push origin --tags
Push di tutti i tag locali sul remote
git tag -d v1.0.0
Elimina un tag in locale
git push origin --delete v1.0.0
Elimina un tag sul remote

Log e cronologia

12
git log
Mostra la cronologia completa dei commit
git log --oneline
Mostra un log compatto con una riga per commit
git log --oneline --graph --all
Visualizza i branch come grafico ASCII
git log -p
Mostra la cronologia dei commit con i diff
git log --author="Jane"
Filtra la cronologia per autore
git log --since="2 weeks ago"
Filtra la cronologia per intervallo di date
git log --pretty=format:"%h %an %s"
Personalizza il formato di output del log
git blame file.txt
Mostra chi ha modificato per ultimo ogni riga
git reflog
Mostra la cronologia delle posizioni di HEAD
git bisect start
Avvia una ricerca binaria di un commit difettoso
git bisect good <hash>
Segna un commit come valido durante il bisect
git bisect bad
Segna il commit corrente come difettoso

Nessuna voce corrisponde a “:q”.


Hai bisogno di aiuto?
Hai riscontrato un problema con questo strumento? Faccelo sapere.
Segnala un problema

Aggiungi questo strumento gratuito al tuo sito web — copia e incolla il codice qui sotto.