git alias
Scopri cosa sono gli alias Git, come crearli e come usarli per semplificare i comandi Git quotidiani.

Cos'è un alias Git?
Un alias Git è una scorciatoia personalizzata che associa un nome breve e facile da ricordare a un comando Git più lungo (o anche a una sequenza di comandi). Una volta definito, digitare git co può eseguire git checkout, risparmiando battute e riducendo gli errori di digitazione sui comandi che usi decine di volte al giorno.
Non esiste un comando git alias dedicato. Gli alias vengono invece memorizzati come normali voci di configurazione, quindi si creano con il comando git config oppure modificando direttamente un file di configurazione Git. Poiché sono semplici configurazioni, gli alias rispettano le normali regole di scope di Git: definiscili globalmente (in ~/.gitconfig) affinché ogni repository possa usarli, oppure localmente (nel .git/config di un singolo repository) quando un alias ha senso solo per quel progetto.
Questa pagina illustra entrambi i modi per creare alias, come verificarli, come creare alias per comandi che accettano argomenti, come eseguire comandi di shell esterni da un alias e una serie di alias utili da aggiungere subito.
Creare alias con git config
Il modo più comune per aggiungere un alias è il comando git config con il flag --global, che scrive in ~/.gitconfig rendendo l'alias disponibile in ogni repository:
git config --global alias.co checkoutLa forma generale è git config --global alias.<scorciatoia> "<comando>". L'esempio sopra consente di eseguire git co ovunque sia previsto git checkout. Ometti --global per limitare l'alias al solo repository corrente.
Puoi verificare che l'alias sia stato salvato con git config --list, che stampa ogni valore di configurazione attivo:
git config --listLa nuova voce appare nell'output come:
alias.co=checkoutD'ora in poi l'alias si comporta esattamente come se avessi digitato il comando completo. Qualsiasi argomento aggiuntivo che passi viene inoltrato al comando sottostante:
git co -b new-featureQuesto esegue git checkout -b new-feature, creando e passando a un branch denominato new-feature.
Creare alias modificando .gitconfig
Poiché gli alias sono semplice configurazione, puoi aggiungerli anche modificando direttamente il file di configurazione. Apri ~/.gitconfig (globale) o il .git/config di un repository (locale) e aggiungi una sezione [alias]:
[alias]
co = checkout
ci = commit
st = statusOgni riga sotto [alias] ha la forma scorciatoia = comando. Questo è esattamente ciò che produce git config --global alias.co checkout, quindi i due metodi sono intercambiabili — modificare il file è comodo quando si vogliono aggiungere più alias contemporaneamente.
Alias per comandi con argomenti
Gli alias funzionano bene per comandi che usano sempre gli stessi flag. Ad esempio, un log compatto e decorato su una riga:
git config --global alias.lg "log --oneline --graph --decorate --all"Eseguendo git lg si ottiene una cronologia compatta e a grafo. Consulta git log per capire cosa fa ciascun flag.
Racchiudi il comando tra virgolette quando contiene spazi o flag, altrimenti la shell passerà le parole extra a git config invece di memorizzarle come parte dell'alias.
Eseguire comandi di shell da un alias
Per eseguire un programma esterno (non un sottocomando Git), aggiungi il prefisso ! al valore dell'alias. Git eseguirà il resto in una shell:
git config --global alias.visual "!gitk"È anche il modo per combinare più passaggi. L'alias seguente aggiunge tutto e crea un commit in una sola operazione, dove $1 è il messaggio di commit che passi:
git config --global alias.ac '!f() { git add -A && git commit -m "$1"; }; f'Ora git ac "fix typo" esegue git add -A seguito da git commit -m "fix typo".
Alias Git utili
Ecco alcuni alias che abbreviano i comandi quotidiani. Aggiungili con git config --global alias.<nome> "<comando>":
| Alias | Si espande in | Descrizione |
|---|---|---|
co = checkout | git checkout | Cambia branch o ripristina file. |
cob = checkout -b | git checkout -b | Crea e passa a un nuovo branch. |
ci = commit | git commit | Registra le modifiche staged. Vedi git commit. |
st = status -sb | git status -sb | Mostra uno stato breve con indicazione del branch. |
f = fetch -p | git fetch -p | Recupera e rimuove i branch di tracciamento remoti obsoleti. |
p = push | git push | Invia le modifiche a un remote. |
bd = branch -d | git branch -d | Elimina un branch solo se è stato unito. |
ba = branch -a | git branch -a | Elenca i branch locali e di tracciamento remoto. |
bD = branch -D | git branch -D | Forza l'eliminazione di un branch. |
dc = diff --cached | git diff --cached | Mostra le modifiche staged. |