Git è uno strumento popolare e potente e forse il sistema di controllo della versione di maggior successo che sia mai esistito. La potenza di Git è evidente dal suo set di comandi. Attualmente è composto da circa 150 comandi, dal comune git-status all'oscuro git-get-tar-commit-id. Con ogni comando che supporta il proprio set di opzioni, c'è una quantità impressionante da ricordare.

Fortunatamente, Git ha un modo per semplificare le cose. Un alias Git può fungere da scorciatoia per qualsiasi sottocomando, con qualsiasi set di opzioni. Con i comandi esterni, puoi usare invocazioni ancora più potenti. Ecco 10 degli alias più utili che puoi configurare.

Come impostare un alias

L'impostazione di un alias è semplice come seguire questo schema:

git config --global alias.co 'checkout'

Il --globale L'opzione imposta l'alias per tutto l'utilizzo di Git da parte dell'utente corrente. Per applicare un alias a tutti gli utenti del sistema, utilizzare --sistema invece. Per aggiungere un alias specifico per il repository corrente, usa --Locale.

instagram viewer

Se sai dove si trova un file di configurazione, puoi modificarlo direttamente. La configurazione del sistema è in una posizione globale, in genere /usr/local/etc/gitconfig. La tua configurazione specifica per l'utente vivrà in un file nella tua directory home come ~/.gitconfig. La configurazione locale esiste all'interno di ogni repository stesso, nel .git/config file.

Guarda anche: Come installare e configurare Git su Linux

1. Un alias per cambiare ramo rapidamente

A seconda del tuo flusso di lavoro, potresti cambiare ramo molte volte durante ogni sessione di lavoro. Per alleviare un piccolo sforzo ed esercitarti con il tipo più semplice di alias, prova quanto segue:

alias.co 'cassa'

Digitando git co feature1 ora passerà a caratteristica1 ramo. L'alias accorcia il nome del sottocomando, che continua a funzionare con argomenti aggiuntivi.

2. Visualizza stato condensato

Per impostazione predefinita, il stato git comando produce un output dettagliato. Spiega lo stato in dettaglio, con informazioni utili per chiunque non abbia familiarità con Git. Tuttavia, se vuoi risparmiare spazio e hai già familiarità con la terminologia di Git, potresti voler impostare un alias per una versione più breve:

alias.st stato -sb

Questa è solo una leggera variazione su git-status, ma il -S L'opzione produce un output breve che rende le cose molto più brevi. Ci vorrà qualcosa come questo stato git predefinito:

E invece produci questo:

Il -B l'opzione mostra il ramo e le informazioni di tracciamento che -S altrimenti sopprimerebbe.

3. Mostra registrazione di riepilogo

Git offre molti modi di ispezionare la storia di un progetto tramite il git-log comando. Può filtrare i commit che segnala e può visualizzare molti dati diversi associati a ciascun commit. A volte, tuttavia, desideri un registro il più compatto possibile. Il --una linea opzione fornisce questo, ma è molto più veloce dargli un alias, dato che è uno che potresti usare abbastanza spesso:

alias.ll 'log --oneline'

L'output presenta un commit per riga, con il titolo del messaggio di commit e un hash abbreviato. Sembra così:

4. Annullamento dell'ultima modifica

Il git reset comando è prezioso, ma non è il più facile da capire. A volte, vuoi solo un semplice annullamento che riavvolga l'ultimo commit. Il --morbido L'opzione garantisce che Git rimuova solo l'ultimo commit, senza modificare nulla sui file locali nel tuo albero di lavoro. TESTA~1 è semplicemente un modo per fare riferimento a quello di commit prima di HEAD.

alias.undo 'reset --soft HEAD~1'

5. Diario dell'ultimo impegno

Se stai ritirando un progetto dal giorno prima, può essere utile esaminare l'ultimo commit. Con un git-log alias puoi ottenere un report rapido e dettagliato dell'ultimo commit:

alias.last 'log -1 HEAD --stat'

Il -1 TESTA opzione richiede semplicemente l'ultimo commit e --statistica elenca i file interessati dal commit, con il numero di righe inserite ed eliminate per ciascuno.

6. Un semplice impegno in un colpo solo

Probabilmente ti ritrovi ad aggiungere file e a impegnarli nel passaggio successivo abbastanza spesso. A meno che il tuo flusso di lavoro non sia più complicato, potresti voler semplificare questo processo con un alias:

alias.ac '!git add -A && git commit'

I singoli componenti non richiedono molte spiegazioni, a parte notare che il -UN opzione passata a git-add aggiornerà automaticamente l'indice in modo che tutti i file corrispondano alla copia di lavoro. Si rivolge alla cancellazione, modifica e creazione di file.

Una cosa interessante da notare su questo alias è che combina due comandi. Lo fa usando il ! simbolo come primo carattere dell'alias. Questo informa Git che quello che segue è un comando di shell esterno piuttosto che un sottocomando.

7. Formattazione fantasiosa del ramo

Un altro comando con molta flessibilità, git-ramo può formattare il suo output in molti modi oltre l'impostazione predefinita sparse.

alias.br "branch --format='%(HEAD) %(color: yellow)%(refname: short)%(color: reset) - %(contents: subject) %(color: green)(%(committerdate: relativo)) [%(nome autore)]' --sort=-committerdate"

Esaminare il formato dall'inizio alla fine. Nota che include molti campi speciali. %(TESTA) aggiunge un asterisco accanto al ramo corrente.

Gli alias sono un ottimo modo per sperimentare la formattazione per comandi come git-ramo. Svilupperai preferenze nel tempo, quindi tenere traccia di quali opzioni producono il tuo output preferito è un must.

8. Riepilogo delle modifiche per collaboratore

Una variante di git log, git-shortlog raggruppa i commit visualizzati per autore. Questo è l'ideale per le note di rilascio o semplicemente per tenere d'occhio chi ha fatto cosa di recente.

Alcune opzioni rendono un sommario dell'autore per tutti gli usi molto conveniente, perfetto per l'uso regolare tramite un alias. Il -e l'opzione mostra gli indirizzi e-mail oltre ai nomi. Il --riepilogo opzione restituisce solo un conteggio totale anziché l'oggetto di ogni commit. e --numerato ordina l'output finale per il numero totale di contributi. Puoi usare questo alias:

alias.contrib 'shortlog -e --summary --numbered'

Per produrre il seguente output:

9. Elenco rami ordinati per ultima modifica

Ora per un po' di lavoro in più con i rami, questa volta utilizzando un sottocomando di livello inferiore. Questo complicato alias è un altro esempio di comando esterno, in questo caso una pipeline. Prima il git-per-ogni-ref il comando passa attraverso tutti i rami conosciuti. Lo fa in data dell'autore ordina e formatta l'output per mostrare quella data insieme all'hash di commit. Infine, utilizza sed spogliarsi arbitri/teste/ dal nome di ciascun ramo.

alias.b '!git for-each-ref --sort="-authordate" --format="%(authordate)%09%(objectname: short)%09%(refname)" refs/heads | sed -e "s-refs/heads/--"'

Guarda anche: Questi esempi di Sed ti renderanno un utente esperto di Linux

10. Un alias per mostrare tutti gli alias

Con tutto questo supporto per gli alias, è sorprendente che Git non offra un modo semplice per visualizzare tutti gli alias che hai impostato. Non preoccuparti, però, puoi risolverlo con un alias! Il git config comando elenca tutte le configurazioni correnti. Puoi filtrare i valori usando il --get-regexp opzione, quindi il seguente alias ti dà un utile git alias comando:

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

Risparmia tempo e frustrazione con Git Alias

Gli alias Git ti fanno risparmiare tempo eliminando la necessità di digitare comandi lunghi e complicati. Git ha un numero enorme di sottocomandi ma gli alias sono facili da riutilizzare e mantenere. Puoi anche raggruppare gli alias nel tuo progetto tramite la configurazione locale, consentendoti di condividere scorciatoie e pratiche standard.

Proprio come gli alias Linux, gli alias Git ti consentono di digitare meno e fare di più. Prova a sperimentare con gli alias sopra ed esplora l'intero set di comandi Git per vedere la ricchezza di funzionalità disponibili.

CondividereTweetE-mail
Tutorial Git avanzato

Porta la tua abilità Git da principiante ad avanzato con questa guida completa.

Leggi Avanti

Argomenti correlati
  • Programmazione
  • GitHub
  • Suggerimenti per la codifica
Circa l'autore
Bobby Jack (57 articoli pubblicati)

Bobby è un appassionato di tecnologia che ha lavorato come sviluppatore software per quasi due decenni. È appassionato di giochi, lavora come editor di recensioni presso Switch Player Magazine ed è immerso in tutti gli aspetti dell'editoria online e dello sviluppo web.

Altro da Bobby Jack

Iscriviti alla nostra Newsletter

Iscriviti alla nostra newsletter per suggerimenti tecnici, recensioni, ebook gratuiti e offerte esclusive!

Clicca qui per iscriverti