Vai al contenuto principale

Alias Git: come creare scorciatoie che fanno risparmiare tempo in Git

Scopri come configurare gli alias Git per risparmiare tempo, ridurre la digitazione e velocizzare lo sviluppo. Perfetto per i principianti che vogliono aumentare la produttività senza strumenti extra.
· 14 min leggi

Scopri con l'IA

Git è una potente soluzione per il versionamento, la condivisione del codice e la collaborazione su attività complesse. È anche facilmente accessibile dalla riga di comando, offrendo un accesso rapido a questo strumento prezioso. Ma digitare comandi lunghi decine di volte al giorno può diventare rapidamente noioso. Per questo gli ingegneri hanno trovato un modo per definire scorciatoie, chiamate alias Git.

Gli alias Git sono scorciatoie personalizzate che ti permettono di creare comandi su misura per qualsiasi operazione Git, o per un insieme di operazioni. Possono rendere il lavoro un po' più semplice con meno digitazione e un flusso di lavoro adattato al tuo stile personale o a quello della tua azienda.

In questo tutorial vedremo cosa sono gli alias Git, come usarli e alcuni consigli per condividerli in modo responsabile. Se sei alle prime armi con Git, dai un'occhiata al nostro corso Introduction to Git e al percorso GitHub Foundations per costruire basi solide prima di iniziare.

Fondamenti degli alias Git

Prima di iniziare a creare scorciatoie personalizzate, vediamo cosa sono gli alias Git, come funzionano e perché sono così utili per gli sviluppatori.

Cosa sono gli alias Git?

Un alias Git è un comando personalizzato che definisci nella configurazione di Git. In sostanza, è un'abbreviazione per i tuoi comandi Git più comuni.

Se hai già familiarità con la riga di comando, potresti pensare che gli alias Git somiglino molto agli alias della shell. Ma ci sono differenze importanti. Gli alias della shell sono scorciatoie definite nella configurazione della tua shell e possono essere usati per qualsiasi strumento da riga di comando, non solo per Git.

Gli alias Git, invece, sono definiti nella configurazione di Git e sono disponibili solo quando usi il comando git. Gli alias Git possono anche essere portatili, perché viaggiano con la tua configurazione Git. Questo significa che possono essere condivisi con il tuo team e funzioneranno in modo coerente in ambienti diversi. Inoltre, sono più facili da documentare e mantenere rispetto agli alias della shell come parte del tuo setup di controllo versione. Gli sviluppatori usano gli alias Git per risparmiare tempo ed energie, ridurre gli errori di battitura e automatizzare i loro flussi di lavoro.

Se ti interessa integrare la shell nel tuo flusso di lavoro, dai un'occhiata ai nostri corsi sulla shell per imparare come fare.

Ambito e persistenza degli alias

Esistono due categorie principali di alias: alias globali e alias locali. La differenza principale sta in dove li definisci e dove sono disponibili.

Un alias globale è disponibile in ogni repository sul tuo sistema. Quando imposti un alias globale, viene memorizzato nel tuo file di configurazione Git globale. Questo è il posto migliore per definire scorciatoie che vuoi usare ovunque.

Una piccola avvertenza sull'uso degli alias globali: sono specifici della tua macchina. È importante ricordarlo se passi da una macchina all'altra o se aiuti colleghi sulle loro. I tuoi alias globali non funzioneranno sulla loro macchina.

Un alias locale, invece, è specifico per un singolo repository. Viene memorizzato nel file di configurazione di quel repository. Gli alias locali sono utili se ti servono scorciatoie specifiche per il progetto o se vuoi fare esperimenti senza toccare la tua configurazione globale.

Gli alias locali hanno la precedenza

È importante notare che, se definisci lo stesso alias sia a livello globale che locale, ha la precedenza quello locale. Significa che l'alias locale sarà quello utilizzato dal tuo computer, ignorando quello globale mentre ti trovi nel repository locale. Una volta che lasci quel repository, l'alias globale tornerà a valere. Questa è una funzionalità utile perché ti permette di sovrascrivere i default globali per progetti specifici.

Per saperne di più sulla configurazione di Git a livelli diversi, dai un'occhiata a Intermediate Git.

Come viene cercato un alias Git nel file di configurazione Git locale

Il diagramma di flusso sopra mostra che Git cerca prima l'alias nel file di configurazione locale. Se non lo trova lì, Git controlla il file di configurazione globale per determinare quale comando o quali comandi eseguire.

Creazione e configurazione degli alias Git

Configurare gli alias Git è semplice, ma il metodo che scegli può dipendere dal tuo flusso di lavoro, dal sistema operativo e dalle preferenze personali.

Metodi di creazione

Ci sono due modi principali per creare un alias Git: puoi crearne uno nuovo dalla riga di comando oppure modificare direttamente il file di configurazione di Git.

Utilizzare la riga di comando

Il modo più semplice per aggiungere un alias è con il comando git config. La formula generale è:

git config alias.<shortcut> <full-command>

Per esempio, creiamo una scorciatoia per git commit -m, usato per salvare nel repository le modifiche in staging con un messaggio.

git config --global alias.cm "commit -m"

Questo comando aggiunge un nuovo alias chiamato cm che esegue git commit -m. Il flag --global specifica che l'alias deve essere disponibile in tutti i tuoi repository. Se ometti --global, l'alias sarà locale per il repository corrente.

Una volta creati gli alias desiderati, potresti voler ricontrollare cosa hai impostato. Puoi usare la riga di comando per vedere tutti gli alias attualmente definiti con:

git config --get-regexp ^alias\\\\.

Questo elencherà ogni alias e il comando corrispondente. Puoi anche controllarne uno specifico. Per esempio, il seguente comando restituirà il valore dell'alias lg dal tuo file di configurazione.

git config alias.lg

Questo è un modo rapido per confermare che gli alias siano configurati correttamente.

Modificare direttamente il file di configurazione

Quando usi i comandi sopra, il tuo file di configurazione Git (d'ora in poi lo chiameremo file di config Git), globale o locale, viene aggiornato con gli alias scelti. Puoi evitare questo passaggio modificando direttamente il file di config.

Devi aprire il file di config Git in un editor di testo e aggiungere gli alias nella sezione [alias]. In Windows, di solito trovi questo file in C:\\Users\\<YourUsername>\\.gitconfig per gli alias globali o in .git\\config in un repository per gli alias locali. Su macOS o Linux, gli alias globali sono in genere in ~/.gitconfig e quelli locali in .git/config.

Il tuo file di config Git dovrebbe assomigliare a questo (se è un file globale, potrebbe includere qualche altra parte):

[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true

[remote "origin"]
    url = <https://github.com/username/repo.git>
    fetch = +refs/heads/*:refs/remotes/origin/*

[branch "main"]
    remote = origin
    merge = refs/heads/main

[alias]
    cm = commit -m

Se scorri fino alla sezione [alias], puoi aggiungere le tue scorciatoie personalizzate:

[alias]
    cm = commit -m
    st = status
    lg = log --oneline --graph --decorate --all

Questo approccio è particolarmente utile se vuoi aggiungere più alias contemporaneamente. Inoltre, rende facile copiare e incollare un set di alias da un collega o da una risorsa online.

Per un pratico riferimento ai comandi Git più comuni, dai un'occhiata al nostro Complete Git Cheat Sheet.

Configurazioni specifiche per OS e shell

Gli alias Git sono definiti all'interno della configurazione di Git, quindi funzionano su sistemi operativi e shell diversi. Tuttavia, il loro utilizzo può dipendere dal tuo ambiente.

Su Windows, gli alias Git funzionano in modo affidabile in Git Bash e WSL (Windows Subsystem for Linux). In Command Prompt e PowerShell, alias semplici come st per status funzionano bene, ma quelli avanzati che si basano su funzionalità della shell come pipe o comandi multipli potrebbero non comportarsi come previsto. Per alias complessi, Git Bash o WSL sono la scelta migliore.

Su macOS e Linux, gli alias Git in genere funzionano allo stesso modo in Bash, Zsh e altre shell di tipo Unix. Sia gli alias semplici che quelli complessi possono essere usati senza problemi.

Fish è un caso particolare perché usa una sintassi diversa da Bash e Zsh. Alcuni alias Git avanzati che presuppongono la sintassi POSIX potrebbero non funzionare correttamente in Fish. In queste situazioni, potresti dover riscrivere l'alias come funzione di shell o limitarti ad alias Git più semplici.

Per ulteriori basi sulla shell, vedi il nostro Bash & Zsh Shell Terminal Basics Cheat Sheet.

Gestione degli alias Git

Una volta impostati gli alias, dovrai tenerli organizzati, aggiornarli quando necessario e risolvere eventuali conflitti che potrebbero sorgere.

Elencare, aggiornare ed eliminare alias

Abbiamo già visto come puoi ottenere l'elenco dei tuoi alias, sia nel file di configurazione che dalla riga di comando. Ma se vuoi modificarne uno o eliminarlo? Fortunatamente, anche questo è molto semplice. Per modificare un alias, puoi eseguire di nuovo il comando git config con un nuovo valore, oppure modificare direttamente la riga corrispondente nel file di configurazione.

Rimuovere un alias è altrettanto facile. Dalla riga di comando, puoi usare il flag --unset per eliminare un alias:

git config --global --unset alias.lg

Oppure puoi semplicemente cancellare la riga dal file di config. Una volta rimosso, l'alias non sarà più disponibile.

Gestione dei conflitti e dei problemi degli alias

Occasionalmente potresti imbatterti in conflitti, ad esempio definendo lo stesso alias sia globalmente che localmente. Ricorda che gli alias locali sovrascrivono quelli globali all'interno dello stesso repository. Quindi, se noti che il tuo solito alias non funziona correttamente, potresti voler controllare in quale repository ti trovi e se ci sono alias locali definiti. È anche buona pratica evitare nomi che si sovrappongono a comandi Git integrati, come commit o push.

Se ti muovi tra macchine diverse o aggiorni Git, è una buona idea verificare che i tuoi alias funzionino ancora. E, quando collabori, valuta di documentare i tuoi alias o condividere un file di configurazione comune così che tutti abbiano accesso alle stesse scorciatoie.

Categorie di alias comuni e casi d'uso

Vediamo alcune categorie di alias Git e come possono potenziare le tue attività quotidiane.

Abbreviazione dei comandi

Uno degli usi più evidenti degli alias è abbreviare comandi lunghi o spesso usati. Invece di digitare git checkout main, potresti usare git co main, o sostituire git status con semplicemente git st. Col tempo, questi piccoli accorgimenti possono farti risparmiare un sacco di digitazione, rendendo più scorrevole il flusso di lavoro.

Formattazione dell'output migliorata

L'output grezzo di Git a volte può essere difficile da leggere, soprattutto con comandi come git log o git diff. Gli alias ti permettono di cambiare la formattazione dell'output per renderla più chiara. Possiamo definire una vista del log personalizzata con colori, date e branch, o rendere i diff più leggibili con l'evidenziazione delle parole. Questo può facilitare molto l'individuazione delle modifiche e il tracciamento della cronologia.

Per esempio, possiamo creare un alias personalizzato per git log per migliorare la leggibilità dell'output:

git config --global alias.lg "log --oneline --graph --decorate --date=short --pretty=format:'%h - (%cd) %an %d %s'"

Ora, invece di digitare git log e ottenere questo output generico:

commit c2f3d4a6b8e9d55f45e2f98c879f6f43be11a765 (HEAD -> main)
Author: Jane Deer <[email protected]>
Date:   Sun Aug 10 14:12:03 2025 -0400

    Fix typo in README

commit a7b1e22c0f6a2d876fe4c9d8e00c64e28793d9e0
Author: John Doe <[email protected]>
Date:   Tue Aug 5 09:33:45 2025 -0400

    Add login validation

Possiamo ottenere un output molto più semplice e leggibile usando il nostro alias git lg:

* c2f3d4a - (2025-08-10) Jane Deer (HEAD -> main) Fix typo in README
* a7b1e22 - (2025-08-05) John Doe Add login validation

Si vede come il nostro output alias sia decisamente più facile da leggere, soprattutto se ci fossero venti o più voci invece di queste due.

Automazione del flusso di lavoro

Gli alias possono anche funzionare come mini-strumenti di automazione per il tuo flusso di lavoro Git. Per esempio, potresti combinare più comandi in un unico alias che fa staging, commit e push delle modifiche in un solo passaggio. Questo tipo di automazione può essere utile, soprattutto per i team che adottano pratiche DevOps e danno valore alla coerenza.

Puoi approfondire come Git si inserisce in flussi di automazione più ampi in CI/CD for Machine Learning.

Alias comuni e consigliati dalla community

Alcuni alias sono così popolari da essere diventati dei classici nella community Git. Includono scorciatoie insieme ad alias più avanzati che semplificano la vita. Dai un'occhiata alla tabella qui sotto con 20 dei alias Git più comuni che vedo.

Comando completo

Alias

Funzione

status

st

Mostra lo stato della working directory

checkout

co

Cambia branch o ripristina file

branch

br

Elenca, crea o elimina branch

commit

ci

Registra le modifiche in staging

commit -m

cm

Commit con messaggio

add -A

aa

Metti in staging tutte le modifiche (nuovi, modificati, eliminati)

reset HEAD --

unstage

Rimuove file dallo staging senza scartare le modifiche

log -1 HEAD

last

Mostra l'ultimo commit

log --oneline --graph --decorate --date=short --pretty=format:"%h - (%cd) %an %d %s"

lg

Vista del log compatta con grafico e metadati

log --pretty=format:"%h %ad %s%d [%an]" --graph --date=short

hist

Un altro formato leggibile del log con grafico della cronologia

diff

df

Mostra le modifiche non in staging

diff --cached

dc

Mostra le modifiche in staging

pull

pl

Esegue fetch e integra con il remoto

push

ps

Carica le modifiche sul remoto

rebase

rb

Riapplica i commit sopra un'altra base

rebase --abort

rba

Annulla un rebase in corso

rebase --continue

rbc

Riprende il rebase dopo aver risolto i conflitti

commit --amend

fix

Modifica l'ultimo commit

reset --soft HEAD~1

undo

Annulla l'ultimo commit mantenendo le modifiche in staging

fetch --all --prune

fa

Aggiorna tutti i remoti e rimuove i branch eliminati

Tecniche avanzate per gli alias

Oltre ad abbreviare comandi lunghi, esistono tecniche avanzate per gli alias che offrono la flessibilità di integrarsi con la shell, gestire parametri o persino adattare gli alias a repository specifici.

Integrazione con comandi della shell

Puoi integrare comandi della shell direttamente nei tuoi alias Git. Anteponendo a un alias il !, Git passerà il resto alla tua shell. Questo apre la possibilità di combinare azioni Git con strumenti esterni, come eseguire un linter prima del commit o concatenare più comandi. Se sei nuovo agli ambienti shell, una risorsa come il Bash & zsh Shell Terminal Basics Cheat Sheet può aiutarti a capire come funziona in pratica.

Gestione dei parametri

A volte vorrai alias non preimpostati rigidamente, ma che si adattino agli argomenti che passi. Scrivendo gli alias come funzioni Bash anonime puoi accettare parametri e usarli in modo dinamico. Questa flessibilità ti consente di trasformare attività ripetitive in comandi semplici e riutilizzabili su misura per le tue esigenze.

Per esempio, creiamo un alias Git parametrico che cerchi nei nostri commit un testo specifico. Su Windows, puoi farlo in Git Bash. Su macOS e Linux, lo stesso alias funziona ugualmente, dato che Git lo esegue in una shell compatibile con Bash.

git config --global alias.find '!f() { git log --grep="$1"; }; f'

Ora, eseguendo git find bugfix cercherai la parola “bugfix” nei messaggi di commit e verranno mostrati i commit corrispondenti.

Configurazione condizionale

La direttiva includeIf di Git ti permette di caricare set di alias diversi a seconda del repository o dell'ambiente. Per esempio, potresti voler usare un set di alias per i progetti di lavoro e un altro per i progetti personali. Le configurazioni condizionali mantengono il tuo setup organizzato assicurando che gli strumenti giusti siano disponibili nel contesto giusto.

Nel tuo file di config Git globale, potresti includere:

[includeIf "gitdir:C:/Users/YourName/work/"]
    path = C:/Users/YourName/.gitconfig-work
[includeIf "gitdir:C:/Users/YourName/personal/"]
    path = C:/Users/YourName/.gitconfig-personal

Poi, dentro C:/Users/YourName/.gitconfig-work, definisci alias come:

[alias]
    st = status
    lg = log --oneline --graph

E in C:/Users/YourName/.gitconfig-personal:

[alias]
    st = status -s
    co = checkout

Ora, quando ti trovi in un repository sotto C:/Users/YourName/work/, digitando git lg userai l'alias specifico per il lavoro, mentre in C:/Users/YourName/personal/, git co userà l'alias personale. È importante ricordare in quale directory ti trovi se usi questo sistema: non vuoi confondere i tuoi alias!

Nota per utenti Mac/Linux: basta sostituire i percorsi Windows con percorsi in stile Unix, per esempio: ~/work/ o ~/personal/. Il comportamento è altrimenti identico.

Strategie di manutenzione e collaborazione

Man mano che la tua raccolta di alias Git cresce, mantenere chiarezza e coerenza diventa essenziale, soprattutto se collabori con altri. Parliamo di alcune buone pratiche per documentare, condividere e mettere in sicurezza i tuoi alias in modo che restino una risorsa e non diventino fonte di confusione.

Documentazione

Documentare correttamente gli alias Git è importante quanto documentare ogni altra parte del processo di sviluppo. Questa documentazione è preziosa per i nuovi membri del team e per il tuo futuro io. Ecco alcune strategie:

  • Mantieni una sezione nel README del progetto per gli alias Git specifici del progetto. Per ogni alias, descrivi brevemente scopo e utilizzo.
  • Quando modifichi .gitconfig direttamente, aggiungi commenti sopra gli alias complessi o non ovvi. Per esempio:
# Quickly stage, commit, and push changes
acp = !git add -A && git commit -m \\"$1\\" && git push
  • Se lavori in team, potresti considerare di standardizzare gli alias usati dal gruppo. E, se il tuo team usa una wiki o una piattaforma di documentazione interna, includi una pagina sugli alias Git e aggiornala man mano che il progetto evolve.

Una documentazione chiara e una buona comunicazione assicurano che tutti capiscano cosa fa ciascun alias, riducendo il rischio di errori e facilitando l'adozione di nuove scorciatoie.

Sicurezza e validazione

Un altro aspetto da considerare è la sicurezza. Pur essendo potenti, gli alias possono introdurre rischi se non gestiti con attenzione. Per esempio, alias che eseguono azioni distruttive, come l'eliminazione di branch o il force push, andrebbero valutati con cura e testati su dati non critici. L'ultima cosa che vuoi è pensare di fare qualcosa di innocuo e finire accidentalmente per eliminare branch chiave dal tuo repository!

Una misura salvavita che puoi adottare quando usi alias Git potenzialmente pericolosi è il flag --dry-run. Ti permette di vedere in anteprima l'azione che stai per eseguire con l'alias, senza effettuarla davvero! Per esempio, poniamo di voler rimuovere file.txt usando un alias. Potresti farti un favore eseguendolo prima in modalità dry run per assicurarti che venga eseguita l'azione corretta.

git rm --dry-run file.txt

Un'altra potenziale preoccupazione di sicurezza sono gli alias che eseguono comandi di shell o script esterni. Gli alias che iniziano con ! eseguono qualunque cosa segua nella tua shell, il che significa che un alias non ben revisionato o non affidabile potrebbe cancellare file, rubare dati o compiere altre azioni dannose. Allo stesso modo, gli alias che richiamano script esterni possono essere rischiosi se lo script proviene da una fonte non verificata o è stato modificato. È importante rivedere ogni alias prima di usarlo ed evitare di copiare alla cieca alias trovati su internet. Questo è anche il motivo per cui preferisco non mescolare comandi Git e comandi di shell nello stesso alias.

Conclusione

Gli alias Git sono una funzionalità potente ma spesso sottoutilizzata che può migliorare notevolmente la produttività personale e del team. Consentendoti di condensare comandi complessi o ripetitivi in scorciatoie facili da ricordare, gli alias aiutano a ridurre il carico cognitivo, minimizzare gli errori di digitazione e semplificare le attività quotidiane.

Se hai altre domande o vuoi approfondire, consulta il Complete Git Cheat Sheet e le altre risorse collegate in questo articolo. Se sei curioso di altri modi per semplificare l'esperienza da riga di comando, potrebbe interessarti anche Come usare un alias SQL per semplificare le query.

Amberle McKee

Autore

Amberle McKee

Sono un PhD con 13 anni di esperienza nel lavoro con i dati in un contesto di ricerca biologica. Creo software in diversi linguaggi di programmazione, tra cui Python, MATLAB e R. Sono appassionato di condividere con il mondo il mio amore per l’apprendimento.

FAQs

Cos'è un alias Git?

Un alias Git è una scorciatoia personalizzata per uno o più comandi Git. Ti permette di eseguire rapidamente comandi o sequenze senza dover digitare troppo.

Posso usare gli alias Git in più repository?

Sì. Impostando un alias Git come globale, potrai usarlo in più repository. Tuttavia, eventuali alias locali avranno la precedenza su quelli globali.

Come elimino un alias Git se non mi serve più?

Per eliminare un alias Git, puoi aprire il file di configurazione di Git ed eliminarlo manualmente oppure usare il flag --unset dalla riga di comando.

Come posso personalizzare gli alias Git per il mio flusso di lavoro specifico?

Il modo migliore per personalizzare gli alias Git per il tuo flusso di lavoro è pensare a quali comandi e sequenze usi più spesso e creare alias personalizzati per semplificarli o automatizzarli. Gli alias Git possono essere estremamente personali e semplificare attività che trovi particolarmente fastidiose.

Gli alias Git sono uguali agli alias della shell?

No. Gli alias Git sono definiti in Git e usano solo comandi Git. Gli alias della shell sono definiti all'interno della shell e possono usare comandi di molti strumenti, incluso Git.

Argomenti

Correlato