L'avantatge d'un sistema de control de versions és que registra els canvis. Aquests registres ens permeten recuperar dades com commits, esbrinar errors, actualitzacions. Però, tota aquesta història serà inútil si no podem navegar-hi. En aquest punt, necessitem l'ordre git log.
Git log és una eina d'utilitat per revisar i llegir un historial de tot el que passa a un repositori. Es poden utilitzar diverses opcions amb un registre git per fer que l'historial sigui més específic.
Generalment, el registre git és un registre de commits. Un registre git conté les dades següents:
Com sortir de l'ordre git log?
Pot ser que es produeixi una situació, executeu l'ordre git log i us quedeu allà. Voleu escriure o tornar a bash, però no podeu. Quan feu clic a Entra tecla, us navegarà a l'ordre anterior fins a la marca final.
La solució a aquest problema és premsa el q (Q per sortir) . Us sortirà de la situació i us tornarà a la línia d'ordres. Ara, podeu executar qualsevol de les ordres.
Registre bàsic de Git
L'ordre de registre de Git és una de les ordres més habituals de git. És l'ordre més útil per a Git. Cada vegada que necessiteu comprovar l'historial, heu d'utilitzar l'ordre git log. L'ordre bàsica git log mostrarà les confirmacions més recents i l'estat del cap. S'utilitzarà com a:
$ git log
L'ordre anterior mostrarà les darreres confirmacions. Considereu la sortida següent:
L'ordre anterior enumera totes les confirmacions recents. Cada commit conté un sha-id únic, que és generat per l'algoritme SHA. També inclou la data, l'hora, l'autor i alguns detalls addicionals.
Podem realitzar algunes accions com desplaçar-se, saltar, moure's i sortir a la línia d'ordres. Per desplaçar-vos per la línia d'ordres, premeu k per pujar, j per baixar, la barra espaiadora per desplaçar-vos una pàgina completa per desplaçar-vos cap amunt i q per sortir de la línia d'ordres.
<Git Log Oneline
L'opció d'una línia s'utilitza per mostrar la sortida com una confirmació per línia. També mostra la sortida en breu com els set primers caràcters de la confirmació SHA i el missatge de confirmació.
S'utilitzarà de la següent manera:
$ git log --oneline
Per tant, normalment podem dir que el senyalador --oneline fa que es mostri git log:
- una confirmació per línia
- els set primers caràcters del SHA
- el missatge de confirmació
Considereu la sortida següent:
Com podem veure amb més precisió a la sortida anterior, cada commit només es dóna en una línia amb un número sha de set dígits i un missatge de commit.
Estadístiques de registre de Git
L'ordre log mostra els fitxers que s'han modificat. També mostra el nombre de línies i una línia de resum del total de registres que s'han actualitzat.
En general, podem dir que l'opció stat s'utilitza per mostrar
prova l'estructura de dades
- els fitxers modificats,
- El nombre de línies que s'han afegit o eliminat
- S'ha modificat una línia de resum del nombre total de registres
- Les línies que s'han afegit o eliminat.
S'utilitzarà de la següent manera:
$ git log --stat
L'ordre anterior mostrarà els fitxers que s'han modificat. Considereu la sortida següent:
A partir de la sortida anterior, podem veure que totes les confirmacions enumerades són modificacions al repositori.
Git log P o Patch
L'ordre git log patch mostra els fitxers que s'han modificat. També mostra la ubicació de les línies afegides, eliminades i actualitzades.
S'utilitzarà com a:
$ git log --patch
O
$ git log -p
En general, podem dir que el senyalador --patch s'utilitza per mostrar:
- Fitxers modificats
- La ubicació de les línies que heu afegit o eliminat
- Canvis concrets que s'han fet.
Considereu la sortida següent:
La sortida anterior mostra els fitxers modificats amb la ubicació de les línies que s'han afegit o eliminat.
Gràfic de registre de Git
L'ordre de registre de Git permet veure el vostre registre de git com a gràfic. Per llistar les confirmacions en forma de gràfic, executeu l'ordre git log amb l'opció --graph. S'executarà de la següent manera:
$ git log --graph
Per fer la sortida més específica, podeu combinar aquesta ordre amb l'opció --oneline. Funcionarà de la següent manera:
$ git log --graph --oneline
Filtrant l'historial de commits
Podem filtrar la sortida segons les nostres necessitats. És una característica única de Git. Podem aplicar molts filtres com la quantitat, la data, l'autor i més a la sortida. Cada filtre té les seves especificacions. Es poden utilitzar per implementar algunes operacions de navegació a la sortida.
Entenem cada un d'aquests filtres en detall.
Per quantitat:
Podem limitar el nombre de commits de sortida mitjançant l'ordre git log. És l'ordre més específic. Aquesta ordre eliminarà la complexitat si esteu interessats en menys commits.
Per limitar la sortida del registre git, inclosa l'opció -. Si només volem els tres últims commit, podem passar l'argument -3 a l'ordre git log. Considereu la sortida següent:
Com podem veure a la sortida anterior, podem limitar la sortida de git log.
js conjunt
Per data i hora:
Podem filtrar la sortida per data i hora. Hem de passar --després o -abans argument per especificar la data. Aquests dos arguments accepten una varietat de formats de data. S'executarà de la següent manera:
$ git log --after='yy-mm-dd'
L'ordre anterior mostrarà totes les confirmacions fetes després de la data indicada. Considereu la sortida següent:
L'ordre anterior enumera totes les confirmacions posteriors a '2019-11-01'.
També podem passar la declaració de referència aplicable, com ara 'ahir', 'fa 1 setmana', 'fa 21 dies' i molt més. Funcionarà com:
git log --after='21 days ago'
L'ordre anterior mostrarà les confirmacions que s'han fet fa 21 dies. Considereu la sortida següent:
També podem fer un seguiment dels commits entre dues dates. Per fer un seguiment dels commits que es van crear entre dues dates, passeu una referència de declaració --abans i --després la data. Suposem que volem fer un seguiment de les commits entre '2019-11-01' i '2019-11-08'. Executarem l'ordre de la següent manera:
$ git log --after='2019-11-01' --before='2019-11-08 '
L'ordre anterior mostrarà els compromisos fets entre les dates. Considereu la sortida següent:
La sortida anterior mostra els compromisos entre el període donat. Podem utilitzar --since i --fins en comptes de --after i --before. Perquè són sinònims, respectivament.
Per autor:
Podem filtrar els commits per un usuari concret. Suposem que volem enumerar les commits només fetes per un membre de l'equip concret. Podem utilitzar el senyalador -author per filtrar les confirmacions pel nom de l'autor. Aquesta ordre pren una expressió regular i retorna la llista de commits fets pels autors que coincideixen amb aquest patró. Podeu utilitzar el nom exacte en lloc del patró. Aquesta comanda s'executarà de la següent manera:
$ git log --author='Author name'
L'ordre anterior mostrarà totes les confirmacions fetes per l'autor donat. Considereu la sortida següent:
A partir de la sortida anterior, podem veure que tots els commits per part de l'autor Sóc Dwivedi1 estan llistats.
urfi javed
Podem utilitzar una cadena en lloc d'una expressió regular o un nom exacte. Considereu la següent afirmació:
$ git log --author='Stephen'
La declaració anterior mostrarà tots els commits l'autor dels quals inclou el nom, Stephen. El nom de l'autor no ha de ser una coincidència exacta; només té la frase especificada.
Com sabem, el correu electrònic de l'autor també està implicat amb el nom de l'autor, de manera que podem utilitzar el correu electrònic de l'autor com a patró o cerca exacta. Suposem que volem fer un seguiment dels commits dels autors el servei de correu electrònic dels quals és Google. Per fer-ho, podem utilitzar comodins com a '@gmail.com'. Considereu la següent afirmació:
$ git log -author='@gmail.com'
L'ordre anterior mostrarà les confirmacions dels autors tal com es mostra al patró. Considereu la sortida següent:
Per missatge de confirmació:
Per filtrar els commits pel missatge de commit. Podem utilitzar l'opció grep, i funcionarà com a opció d'autor.
S'executarà de la següent manera:
$ git log --grep=' Commit message.'
Podem utilitzar la forma curta de missatge de confirmació en lloc d'un missatge complet. Considereu la sortida següent.
La sortida anterior mostra tots els commits que contenen la paraula commit al seu missatge de commit.
Hi ha moltes altres opcions de filtrat disponibles, com ara podem filtrar per nom de fitxer, contingut i molt més.