Git log – Trovare i commit perduti

Quante volte è successo di voler recuperare un commit ma non ricordarsi quando o chi lo ha effettuato? Git log viene in aiuto! Questo comando permette di ottenere una lista di commit filtrati secondo una determinata condizione.

La documentazione ufficiale è completa ma estremamente prolissa, di seguito una lista di comandi comodi per la vita di tutti i giorni.

Commit con un determinato messaggio

git log --all --grep='foo'

Qualora il commit sia “dangling” quindi non connesso a nessun altro commit è possibile cercare anche con il reflog quindi utilizzare il comando

git log -g --grep='foo'

Ricordo che l’argomento di grep accetta anche espressioni regolari.

Commit con un determinata aggiunta o rimozione

Qualora voglia cercare tutti i commit dove la parola foo è stata aggiunta o rimossa (per essere precisi dove il numero di occorrenze della parola foo è cambiata.

git log -G "foo"

Solo in un determinato file

Aggiungendo il nome del file alla fine posso filtrare solo per quello. Questo comando può essere utile qualora voglia ottenere tutti i commit che hanno modificato una determinata riga.

git log -G "foo" file.js

Commit dello stesso autore

git log --author="foo"

Estetica

I risultati di git log possono essere mostrati in vari modi diversi in base alle esigenze.

FlagSignificato
--onelineMostra solo l’hash e il messaggio di commit
--decorateMostra eventuali tag e branch
--statMostra il numero di righe aggiunte e rimosse per ogni commit
--graphMostra un grafico ASCII visualizzante la struttura dei branch

Per approfondire

Per approfondire consiglio il seguente libro, in italiano di Ferdinando Santacroce: Git: Guida per imparare a gestire, distribuire e versionare codice.

Indice

Share
Ultimi articoli
Join

Newsletter

Nessuno spam, solo articoli interessanti ;)

Focus

Post correlati

git

Git merge e git rebase

Le differenze tra git merge e rebase è un punto dubbio per gli sviluppatori alle prime armi con git. Per spiegare la differenza tra questi

Codice Pragmatico

Contatti

Per informazioni, dubbi o consulenze non esitate a contattarmi.

Lascia un messaggio

Ricevi le ultime news

Iscrivi alla newsletter

Solo articoli interessanti, promesso ;)