Come sviluppatore, probabilmente utilizzi quotidianamente la CLI di Git (Interfaccia a riga di comando). Tuttavia, scrivere ripetutamente gli stessi vecchi comandi può essere laborioso, specialmente quando i comandi sono lunghi. Ecco dove entrano in gioco le alias di Git per aiutarti.
In questo articolo, imparerai come semplificare i tuoi comandi Git utilizzando alias.
Indice
-
Come Aggiungere Alias di Git Attraverso il File di Configurazione Globale di Git (Consigliato)
-
Come Creare Comandi Personalizzati per Scorciatoie Più Complesse
Prerequisiti
-
Conoscenza di Git.
-
Git Bash installato (opzionale ma consigliato per gli utenti Windows).
-
Un IDE come VS Code (anche questo è opzionale).
Cosa sono gli alias di Git?
Gli alias di Git sono scorciatoie personalizzate per i comandi Git esistenti, rendendo le attività comuni più veloci e facili. Ti consentono di definire i tuoi comandi, consentendoti di personalizzare le scorciatoie esattamente come desideri.
Hai due opzioni principali per aggiungere/creare alias di git nella tua configurazione git, utilizzando il file di configurazione Git o aggiungendoli direttamente tramite la CLI (terminale/linea di comando).
Come Aggiungere Alias di Git Tramite il File di Configurazione Globale di Git (Consigliato)
Questa opzione prevede l’apertura del tuo file di configurazione globale di git e l’aggiunta dei tuoi alias di git in fondo al file.
Come Impostare il Tuo Editor Git Preferito
Imposta il software editor predefinito di Git, ad esempio, io uso VS Code per modificare il mio file di configurazione di Git, ma puoi utilizzare qualsiasi editor di testo/editor di codice che preferisci.
Esegui questo comando per impostare Notepad come editor preferito su Windows (CMD/PowerShell):
git config --global core.editor "notepad"
Esegui questo comando per impostare VS Code come editor preferito su Windows & MacOS/Linux:
git config --global core.editor "code --wait"
Per impostare un editor predefinito diverso, cerca online “Imposta {editor} come editor predefinito di Git” e sostituisci {editor}
con l’app che preferisci.
Come aprire il file di configurazione di Git
Apri il tuo terminale preferito e inserisci il seguente comando. Questo aprirà il file di configurazione globale di Git (git config —global
), in modalità di modifica (-e
).
git config --global -e
Puoi aprire il file di configurazione di git direttamente dalle seguenti posizioni:
Mac Os: Directory Home → mostra i file nascosti (Cmd + Shift + H) → .gitconfig
Windows: C:\Users\YourUsername\
→ quindi mostra i file nascosti (in Visualizzazione) → e trova .gitconfig
Linux: Directory Home → mostra i file nascosti (Ctrl + H) → .gitconfig
Come Aggiungere un Alias di Git Tramite il Tuo File di Configurazione
Se stai aggiungendo alias di Git per la prima volta, apri il tuo file .gitconfig
, aggiungi [alias]
alla fine e poi elenca i tuoi shortcut di seguito. Questo indica a Git che si tratta di alias. Aggiungi il tuo alias preferito (il comando abbreviato che desideri eseguire).
Il formato di un alias di git è <alias> = <comando>
, quindi abbiamo:
co = checkout
cob = checkout -b
Spiegazione degli esempi sopra:
co = checkout
questo mappa il comando git checkout
al comando più breve git co
. Quindi chiameresti git co feature/123
nel tuo terminale.
Non è necessario digitare git
di fronte al comando, poiché la configurazione lo pre-porrà automaticamente poiché sa che il comando che stai mappando è un comando Git.
Nota: Eventuali parametri passati al comando saranno applicati solo al comando finale chiamato nell’alias.
Altri alias possono essere aggiunti in questo modo, mappando scorciatoie ai comandi Git esistenti. Salvando e chiudendo il file renderà quindi gli alias disponibili nel tuo terminale.
Come Aggiungere Alias nella CLI
Se desideri un approccio più snello per aggiungere alias Git, puoi aggiungerli direttamente da dentro il terminale/linea di comando.
Prendendo gli esempi sopra, possiamo aggiungerli direttamente nel seguente modo:
Il formato del comando è: git config --global alias.{alias} "{comando originale}"
:
git config --global alias.co "checkout"
#o
git config --global alias.cob "checkout -b"
È semplice come quello!
Come Creare Comandi Personalizzati per Scorciatoie Più Complesse
Ottimo, sembra fantastico, ma non è davvero così impressionante – stiamo solo rimuovendo alcuni caratteri. Tuttavia, possiamo renderli molto più utili, possiamo creare i nostri comandi utilizzando comandi shell.
Prendiamo il seguente esempio, un comando che uso molto!
new-work = !git checkout main && git pull && git cob
Questo alias combina più comandi Git in un unico comando shell. Il carattere !
dice a Git di trattarlo come un comando shell, non come un comando Git standard.
Senza !
, Git considera l’alias come un comando Git (ad esempio, checkout
diventa git checkout
). Con !
, Git sa di eseguirlo come un comando shell senza aggiungere git
davanti.
Concatenando questi comandi, possiamo scrivere alias molto più utili. Quello sopra farà:
-
Prima, fare checkout del branch
main
. -
Utilizzando l’operatore
&&
, significa che gli altri comandi verranno eseguiti solo se il precedente è stato completato con successo. -
In secondo luogo, scaricherà le modifiche dal branch
main
. -
Infine, creerà un nuovo branch dal branch
main
usando il nostro altro aliasgit cob
.
Il comando finale può quindi accettare parametri (come farebbe il comando Git originale), quindi può essere utilizzato in questo modo:
git new-work 'feature/new-work-from-main'
Come Utilizzare i Parametri in Tutti i Comandi
Finora, abbiamo potuto passare i nostri parametri solo al comando git finale nel nostro alias. Tuttavia, cosa succede se vogliamo passare parametri a alcuni, se non tutti, dei comandi all’interno dell’alias? Possiamo farlo utilizzando una funzione shell.
Prendiamo l’esempio seguente:
new-work = "!f() { git checkout \"$1\" && git pull && git checkout -b \"$2\"; }; f"
Qui stiamo utilizzando una funzione shell che elabora i parametri in ingresso.
Spiegazione:
-
!f()
:-
Il
!
dice a Git di interpretare l’alias come un comando shell anziché come un comando Git standard. -
f()
definisce una funzione shellf
che ci permetterà di eseguire più comandi in sequenza.
-
-
Tutto ciò che è contenuto dentro
{ }
sarà eseguito all’interno della funzionef()
. -
git checkout \”$1”'\
: Eseguirà un comando Git parametrizzato, dove$1
è scappato e verrà sostituito con il 1° parametro passato all’alias. Le sequenze di escape\"
attorno a$1
consentono nomi di branch con spazi. -
&&
è un operatore logico che garantisce che ciascun comando venga eseguito solo se il precedente ha successo. Segit checkout "$1"
fallisce, i comandi successivi non verranno eseguiti. -
git checkout -b \”$2”\
: Crea un nuovo branch con il nome del secondo parametro come prima. -
;
: Segna la fine della funzionef()
; -
f
: L’ultimof
chiama immediatamente la funzione dell’alias, il che significa che quando si chiama l’alias, dichiara subito la funzione e la chiama immediatamente.
Utilizzo:
git new-work development task/feat-123
Altri Alias Utili
[alias]
co = checkout
cob = checkout -b
s = status
tidy-up = !git checkout main && git branch | grep -v "main" | xargs git branch -D
latest = !git checkout main && git pull
new-work = "!f() { git checkout \"$1\" && git pull && git checkout -b \"$2\"; }; f"
done = !git push -u origin HEAD
save = !git add -A && git commit
saveM = !git add -A && git commit -m
br = branch --format='%(HEAD) %(color:yellow)%(refname:short)%(color:reset) - %(contents:subject) %(color:green)(%(committerdate:relative)) [%(authorname)]' --sort=-committerdate
Riepilogo
co:
Passa al ramo specificato → git co task/feat-123
cob
: Crea un nuovo ramo dal ramo attuale → git cob feature/123
s
: Chiama git status
per visualizzare lo stato del ramo git attuale → git s
tidy-up
: Cancella tutti i rami locali diversi da main
→ git tidy-up
latest
: Ottiene le ultime modifiche dal ramo remoto main
→ git latest
new-work
: Crea un nuovo ramo (2° parametro) dal ramo del 1° parametro → git new-work main feat/123
git done
: Esegue il push del ramo attuale nel repository remoto (origin
) e lo imposta come ramo upstream. Questo può essere utile quando esegui il push del tuo primo commit e ricevi l’errore:fatal: Il ramo attuale non ha un ramo upstream. Per eseguire il push del ramo attuale e impostare il remoto come upstream, usa git push --set-upstream origin
save
: Aggiunge semplicemente tutti i file modificati, li committa, apre il tuo editor Git predefinito e richiede un messaggio di commit → git save
savem
: Farà come sopra, ma anziché aprire il tuo editor, puoi passare un messaggio di commit inline → git savem ‘Task123: add index.html
br:
Questo sembra complicato, ma non è così complicato come sembra ma mette in evidenza il potere degli alias. In sostanza, personalizza il formato di output di git branch
per mostrare un elenco dettagliato e colorato di rami, ordinati per data dell’ultimo commit, apparirà qualcosa di simile all’immagine sottostante per ciascun ramo che hai localmente.
Ecco, un’introduzione agli alias di Git e alcuni utili esempi di alias che puoi aggiungere come punto di partenza alla tua configurazione.
Come sempre, se desideri discuterne o essere aggiornato su futuri articoli, puoi seguirmi su Twitter.
Source:
https://www.freecodecamp.org/news/how-to-simplify-your-git-commands-with-git-aliases/