Se volessimo visualizzare la cronologia dei commit, possiamo farlo con il comando git log . Per avere del materiale su cui lavorare, useremo il repository di WordPress attraverso il quale abbiamo imparato come clonare un repository Git nei primi capitoli.

Lanciamo subito un esempio per capire che tipo di output avremo:

$ git log
commit cc77899e7f3f41e1830d58a9d498ef6348a5a061
Author: Weston Ruter <weston@xwp.co>
Date:   Fri Apr 21 05:25:43 2017 +0000

    Customize: Increase width of controls pane on large monitors to give more ro
    
    Props celloexpressions, timmydcrawford.
    Fixes #32296.
    
    Built from https://develop.svn.wordpress.org/trunk@40511
    
    
    git-svn-id: http://core.svn.wordpress.org/trunk@40387 1a063a9b-81f0-0310-95a

commit 9eb9cc40bddb86f3391f56d48cecf03a5d467d7e
Author: Weston Ruter <weston@xwp.co>
Date:   Fri Apr 21 05:16:45 2017 +0000

    Customize: Fix visibility of "Hide Controls" link in IE.
    
    Amends [39214].
    Props timmydcrawford.

 

Ecco le ultime commit ordinate dalla più recente alla più vecchia, complete di alcune informazioni basilari, come l’autore, la data e il messaggio dato al commit stesso. Facciamo qualche altro esempio, Se invece volessimo visualizzare velocemente gli ultimi commit, senza informazioni aggiuntive se non il messaggio, possiamo usare git log –pretty=oneline :

$ git log --pretty=oneline -3
cc77899e7f3f41e1830d58a9d498ef6348a5a061 Customize: Increase width of controls pane on large monitors to give more roo
9eb9cc40bddb86f3391f56d48cecf03a5d467d7e Customize: Fix visibility of "Hide Controls" link in IE.
9c8bf5984295bde1234a4fcc761b6cd9ea346858 Multisite: Add `$network_id` parameter to `wp_update_network_counts()`.

Come noterete, nell’esempio abbiamo aggiunto l’opzione -3  per vedere appunto gli ultimi 3 commit. Cambiate pure questo numero per visualizzare un numero maggiore o minore di risultati. Un’altra opzione utile e curiosa è quella –stat  che aggiunge delle statistiche sui file modificati:

$ git log --pretty=oneline -1 --stat
cc77899e7f3f41e1830d58a9d498ef6348a5a061 Customize: Increase width of controls pane on large monitors to give more roo
 wp-admin/css/customize-controls-rtl.css     |    6 +---
 wp-admin/css/customize-controls-rtl.min.css |    2 +-
 wp-admin/css/customize-controls.css         |    6 +---
 wp-admin/css/customize-controls.min.css     |    2 +-
 wp-admin/css/themes-rtl.css                 |   28 +++++++++++++++++++++++++-
 wp-admin/css/themes-rtl.min.css             |    2 +-
 wp-admin/css/themes.css                     |   28 +++++++++++++++++++++++++-
 wp-admin/css/themes.min.css                 |    2 +-
 wp-includes/version.php                     |    2 +-
 9 files changed, 61 insertions(+), 17 deletions(-)

E se volessimo limitare per data? In aggiunta alle altre opzioni, possiamo usare l’opzione –since=data  o –until=data  per mostrare rispettivamente le commit a partire da una data o fino ad una data.

$ git log --pretty=oneline --since=1week
cc77899e7f3f41e1830d58a9d498ef6348a5a061 Customize: Increase width of controls pane on large monitors to give more roo
9eb9cc40bddb86f3391f56d48cecf03a5d467d7e Customize: Fix visibility of "Hide Controls" link in IE. Multisite: Add `$network_id` parameter to `wp_update_network_counts()`.
1d739a0925e98f281ff1e9d8c4753ba9440b328e Accessibility: Make some Widgets buttons real buttons.
711796d17256a370a08ead0ecf65278630311efd Accessibility: Make Safari 10 + VoiceOver announce repeated, identical, `wp.a
7977451301021845221822b23c678cb42403d5a8 Multisite: After [37918] add support for retrieving custom site properties se
ebf0b9e46ecacd71f1f9f79ce7a495ea1f12be11 Editor: Define `$suffix` before using it in `_WP_Editors::print_tinymce_scrip
...

Per quanto riguarda la data, è possibile specificare diversi formati, sia numerici (come “28-12-2000”) che relativi come “lastyear”, “2months” o “2 day 30 minutes ago”. Nel nostro esempio abbiamo indicato “1week” per ottenere tutte le lavorazione dell’ultima settimana! Le due opzioni –since  e –until  possono anche essere combinate per stringere la ricerca entro un certo lasso di tempo:

$ git log --after=2010-05-01 --before=2010-05-08 --pretty=oneline

Esistono molte altre opzioni per il comando git log , potete trovare sulla documentazione ufficiale.