Git log vi dà la pos­si­bi­li­tà di vi­sua­liz­za­re tutti i commit di un progetto e di filtrarli. A seconda delle istru­zio­ni da voi spe­ci­fi­ca­te potete ottenere risultati migliori.

Registra il tuo dominio
  • Domain Connect gratuito per una con­fi­gu­ra­zio­ne facile del DNS
  • Cer­ti­fi­ca­to SSL Wildcard gratuito
  • Pro­te­zio­ne privacy inclusa

Che cos’è git log?

Il comando git commit è tra i prin­ci­pa­li di ogni tutorial su Git e serve in poche parole a scattare delle istan­ta­nee dei progressi fatti e a far sì che le modifiche vengano salvate cor­ret­ta­men­te. So­prat­tut­to nel caso di progetti di grandi di­men­sio­ni, a cui spesso lavorano grandi team, si ricorre so­li­ta­men­te a mol­te­pli­ci commit, rendendo la cro­no­lo­gia delle versioni alquanto in­de­ci­fra­bi­le. Poiché il comando Git git log vi consente di creare un elenco dei commit, di filtrarli e di ri­cer­car­li in base alle modifiche applicate, rap­pre­sen­ta uno strumento chiave per lavorare con il sistema di controllo delle versioni. Mentre git status serve a esaminare la directory di lavoro, git log si concentra solo sui commit eseguiti.

Sintassi di git log

La sintassi di base di git log è molto semplice. Senza ulteriori in­di­ca­zio­ni il comando elenca i commit del vostro progetto in ordine cro­no­lo­gi­co inverso. Potete quindi scorrere uno alla volta dai commit più recenti a quelli più vecchi. Tra le altre in­for­ma­zio­ni, sono anche elencati la data, il nome e l’indirizzo e-mail del ri­spet­ti­vo utente.

git log

Questa fun­zio­na­li­tà è spe­cial­men­te utile per ottenere un riepilogo generale. Tuttavia, vale sempre la pena di per­fe­zio­na­re i criteri di ricerca per ottenere risultati migliori, spe­cial­men­te quando si tratta di progetti di grandi di­men­sio­ni. A questo scopo Git offre numerose pos­si­bi­li­tà. Abbiamo raccolte per voi in una tabella da con­sul­ta­re quelle più utili, in aggiunta alla pratica guida “Git Cheat Sheet” sca­ri­ca­bi­le in PDF.

I prin­ci­pa­li utilizzi di git log

git log Con il comando standard vi­sua­liz­za­te un elenco di tutti i commit in ordine cro­no­lo­gi­co inverso.
git log -p Mappate det­ta­glia­ta­men­te tutte le modifiche.
git log --stat Vi­sua­liz­za­te le sta­ti­sti­che delle modifiche chia­ra­men­te elencate.
git log --graph --decorate --oneline Il­lu­stra­te le modifiche sotto forma di grafico.
git log -n <numero> Con questo comando riducete il numero di commit vi­sua­liz­za­ti.
git log --oneline Rias­su­me­te ogni commit in un’unica riga così da avere una migliore visione d’insieme.
git log --author="nome dell’autore/autrice" Vi­sua­liz­za­te solo i commit di un de­ter­mi­na­to autore o autrice.
git log --grep="messaggio" Filtrate i commit in base alla spie­ga­zio­ne cor­ri­spon­den­te.
git log <since>…<until> Vi­sua­liz­za­te soltanto i commit eseguiti in un de­ter­mi­na­to in­ter­val­lo di tempo.
git log <no­me­del­fi­le> Vi­sua­liz­za­te soltanto i commit che con­ten­go­no un de­ter­mi­na­to file.
git log --pretty Cambiate il formato dell’output secondo le vostre in­di­ca­zio­ni.

Combinare i filtri

Se volete, avete anche la pos­si­bi­li­tà di combinare diverse variabili ed eseguire così una ricerca ancora più precisa. Nel codice che segue vedete un semplice esempio di un elenco specifico con git log. Con il seguente comando potete vi­sua­liz­za­re in dettaglio solamente i commit dell’autore “Mario Rossi” presenti nel file “esempio”.

git log --author="Mario Rossi" -p esempio.py

Per fare un esempio più specifico mettiamo che solo i commit del già citato utente e quelli di una collega siano da con­si­de­ra­re per il periodo compreso tra settembre e ottobre 2021. Inoltre, i commit dovranno pre­sen­ta­re solo modifiche testuali e non dovranno essere fusioni (merges). In questo caso il codice sarà il seguente:

git log --author="Mario Rossi\|Marina Bianchi" --since="2021-09-01" \ --before=2021-10-31" –no-merges --t esempio.py

For­mat­ta­re git log con pretty

Con i formati pretty potete impostare la modalità di vi­sua­liz­za­zio­ne di git log. I formati più comuni sono i seguenti:

  • oneline: mostra tutte le in­for­ma­zio­ni in una riga.
  • short: elenca solamente i commit, l’autore o l’autrice e il titolo.
  • medium: elenca i commit, l’autore o l’autrice, la data, il titolo e la de­scri­zio­ne.
  • full: aggiunge ai pre­ce­den­ti anche il committer.
  • fuller: elenca in aggiunta la data dell’autore o dell’autrice e del committer.
  • email: mostra le in­for­ma­zio­ni nel formato e-mail.
  • raw: elenca i commit esat­ta­men­te come sono stati eseguiti.
  • format: permette di eseguire una for­mat­ta­zio­ne per­so­na­liz­za­ta; per esempio ri­por­tan­do le in­for­ma­zio­ni rilevanti all’interno di una frase, in­clu­den­do paragrafi o im­po­stan­do un ordine di lettura specifico.

Git log e git diff

Git log è uno strumento fon­da­men­ta­le per mantenere una visione d’insieme del vostro progetto e per filtrare de­ter­mi­na­te in­for­ma­zio­ni. Il comando viene spesso uti­liz­za­to con­giun­ta­men­te a git diff per­met­ten­do di elencare le modifiche tra due commit. Questo non solo vi permette di vedere chia­ra­men­te come il progetto si sia svi­lup­pa­to nel tempo e quali membri del team stanno lavorando a un preciso compito, ma è anche utile per iden­ti­fi­ca­re eventuali fonti di errore.

Consiglio

Flusso di lavoro ot­ti­miz­za­to, con­fi­gu­ra­zio­ne rapida e massima sca­la­bi­li­tà! Con Deploy Now di IONOS di­stri­bui­te i vostri siti web e le vostre ap­pli­ca­zio­ni di­ret­ta­men­te con GitHub. Ap­pro­fit­ta­te di una prova gratuita e di tariffe van­tag­gio­se.

Vai al menu prin­ci­pa­le