Avantajul unui sistem de control al versiunilor este că înregistrează modificările. Aceste înregistrări ne permit să preluăm datele, cum ar fi comitări, descoperirea erorilor, actualizări. Dar toată această istorie va fi inutilă dacă nu o putem naviga. În acest moment, avem nevoie de comanda git log.
Jurnalul Git este un instrument utilitar pentru a revizui și a citi un istoric al tot ceea ce se întâmplă cu un depozit. Pot fi utilizate mai multe opțiuni cu un jurnal git pentru a face istoricul mai specific.
În general, jurnalul git este o înregistrare a comiterilor. Un jurnal git conține următoarele date:
Cum să ieși din comanda git log?
Poate apărea o situație, rulați comanda git log și rămâneți acolo. Vrei să tastați sau să reveniți la bash, dar nu puteți. Când faceți clic pe introduce tasta, vă va naviga la comanda mai veche până la indicatorul de final.
Soluția la această problemă este să presa cel q (Q pentru renunțare) . Te va ieși din situație și te va întoarce la linia de comandă. Acum, puteți efectua oricare dintre comenzi.
Jurnalul Git de bază
Comanda Git log este una dintre cele mai obișnuite comenzi ale git. Este cea mai utilă comandă pentru Git. De fiecare dată când trebuie să verificați istoricul, trebuie să utilizați comanda git log. Comanda de bază git log va afișa cele mai recente comiteri și starea capului. Se va folosi ca:
$ git log
Comanda de mai sus va afișa ultimele comiteri. Luați în considerare rezultatul de mai jos:
Comanda de mai sus listează toate comiterile recente. Fiecare commit conține un sha-id unic, care este generat de algoritmul SHA. Include, de asemenea, data, ora, autorul și câteva detalii suplimentare.
Putem efectua anumite acțiuni, cum ar fi derularea, săritul, mutarea și ieșirea din linia de comandă. Pentru a derula pe linia de comandă apăsați k pentru a vă deplasa în sus, j pentru a vă deplasa în jos, bara de spațiu pentru a derula în jos cu o pagină întreagă pentru a derula în sus cu o pagină și q pentru a ieși din linia de comandă.
<Git Log Oneline
Opțiunea oneline este utilizată pentru a afișa ieșirea ca un commit pe linie. De asemenea, arată rezultatul pe scurt, cum ar fi primele șapte caractere ale COMmit SHA și mesajul de commit.
Acesta va fi folosit după cum urmează:
$ git log --oneline
Deci, de obicei, putem spune că steag-ul --oneline face ca git log să fie afișat:
- un commit pe linie
- primele șapte caractere ale SHA
- mesajul de confirmare
Luați în considerare rezultatul de mai jos:
După cum putem vedea mai precis din rezultatul de mai sus, fiecare commit este dat doar într-o singură linie cu un număr sha de șapte cifre și un mesaj de commit.
Git Log Stat
Comanda log afișează fișierele care au fost modificate. De asemenea, afișează numărul de linii și o linie rezumată a totalului înregistrărilor care au fost actualizate.
În general, putem spune că opțiunea stat este folosită pentru afișare
10 1 milioane
- fișierele modificate,
- Numărul de linii care au fost adăugate sau eliminate
- S-a schimbat un rezumat al numărului total de înregistrări
- Liniile care au fost adăugate sau eliminate.
Acesta va fi folosit după cum urmează:
$ git log --stat
Comanda de mai sus va afișa fișierele care au fost modificate. Luați în considerare rezultatul de mai jos:
Din rezultatul de mai sus, putem vedea că toate commit-urile listate sunt modificări în depozit.
Git log P sau Patch
Comanda git log patch afișează fișierele care au fost modificate. De asemenea, arată locația liniilor adăugate, eliminate și actualizate.
Va fi folosit ca:
$ git log --patch
Sau
$ git log -p
În general, putem spune că steag-ul --patch este folosit pentru a afișa:
- Fișiere modificate
- Locația liniilor pe care le-ați adăugat sau eliminat
- Modificări specifice care au fost făcute.
Luați în considerare rezultatul de mai jos:
Rezultatul de mai sus afișează fișierele modificate cu locația liniilor care au fost adăugate sau eliminate.
Git Log Graph
Comanda Git log permite vizualizarea jurnalului git ca grafic. Pentru a lista commit-urile sub forma unui grafic, rulați comanda git log cu opțiunea --graph. Acesta va rula după cum urmează:
$ git log --graph
Pentru a face rezultatul mai specific, puteți combina această comandă cu opțiunea --oneline. Acesta va funcționa după cum urmează:
$ git log --graph --oneline
Filtrarea istoricului de comitere
Putem filtra ieșirea în funcție de nevoile noastre. Este o caracteristică unică a Git. Putem aplica multe filtre, cum ar fi cantitatea, data, autorul și multe altele. Fiecare filtru are specificațiile sale. Ele pot fi utilizate pentru implementarea unor operațiuni de navigare la ieșire.
Să înțelegem fiecare dintre aceste filtre în detaliu.
meniu derulant javascript
După sumă:
Putem limita numărul de comite de ieșire folosind comanda git log. Este cea mai specifică comandă. Această comandă va elimina complexitatea dacă sunteți interesat de mai puține comiteri.
Pentru a limita ieșirea jurnalului git, inclusiv opțiunea -. Dacă vrem doar ultimele trei comite, atunci putem trece argumentul -3 în comanda git log. Luați în considerare rezultatul de mai jos:
După cum putem vedea din rezultatul de mai sus, putem limita rezultatul git log.
După dată și oră:
Putem filtra rezultatul după dată și oră. Trebuie să trecem --după sau -inainte de argument pentru a specifica data. Ambele argumente acceptă o varietate de formate de dată. Acesta va rula după cum urmează:
$ git log --after='yy-mm-dd'
Comanda de mai sus va afișa toate commit-urile făcute după data dată. Luați în considerare rezultatul de mai jos:
Comanda de mai sus enumeră toate commit-urile după „2019-11-01”.
De asemenea, putem transmite declarația de referință aplicabilă, cum ar fi „ieri”, „acum o săptămână”, „acum 21 de zile” și multe altele. Acesta va rula ca:
git log --after='21 days ago'
Comanda de mai sus va afișa commit-urile care au fost făcute acum 21 de zile. Luați în considerare rezultatul de mai jos:
De asemenea, putem urmări comiterile între două date. Pentru a urmări commit-urile care au fost create între două date, transmiteți o referință de declarație --inainte de și --după data. Să presupunem că vrem să urmărim comitările între „2019-11-01” și „2019-11-08”. Vom rula comanda după cum urmează:
$ git log --after='2019-11-01' --before='2019-11-08 '
Comanda de mai sus va afișa commit-urile efectuate între date. Luați în considerare rezultatul de mai jos:
Ieșirea de mai sus afișează commit-urile dintre perioada dată. Putem folosi --since și --until în loc de --after și --before. Pentru că sunt sinonime, respectiv.
tabel în reacție
De autor:
Putem filtra commit-urile de către un anumit utilizator. Să presupunem că vrem să listăm commit-urile făcute doar de un anumit membru al echipei. Putem folosi -author flag pentru a filtra commit-urile după numele autorului. Această comandă preia o expresie regulată și returnează lista commit-urilor făcute de autori care se potrivesc cu acel model. Puteți folosi numele exact în loc de model. Această comandă va rula după cum urmează:
$ git log --author='Author name'
Comanda de mai sus va afișa toate commit-urile făcute de autorul dat. Luați în considerare rezultatul de mai jos:
Din rezultatul de mai sus, putem vedea că toate comitările de către autor Sunt Dwivedi1 sunt afișate.
Putem folosi un șir în locul unei expresii regulate sau al numelui exact. Luați în considerare afirmația de mai jos:
$ git log --author='Stephen'
Declarația de mai sus va afișa toate commit-urile al căror autor include numele, Stephen. Numele autorului nu trebuie să se potrivească exact; are doar fraza specificată.
După cum știm, e-mailul autorului este, de asemenea, implicat cu numele autorului, astfel încât să putem folosi e-mailul autorului ca model sau căutare exactă. Să presupunem că vrem să urmărim comiterile autorilor al căror serviciu de e-mail este Google. Pentru a face acest lucru, putem folosi wild cards ca „@gmail.com”. Luați în considerare afirmația de mai jos:
$ git log -author='@gmail.com'
Comanda de mai sus va afișa comenzile de către autori, așa cum sunt date în model. Luați în considerare rezultatul de mai jos:
Prin mesaj de confirmare:
Pentru a filtra comiterile după mesajul de comitere. Putem folosi opțiunea grep și va funcționa ca opțiune de autor.
Acesta va rula după cum urmează:
$ git log --grep=' Commit message.'
Putem folosi forma scurtă de mesaj de confirmare în loc de un mesaj complet. Luați în considerare rezultatul de mai jos.
Ieșirea de mai sus afișează toate commit-urile care conțin cuvântul commit în mesajul său de commit.
Există multe alte opțiuni de filtrare disponibile, cum ar fi putem filtra după numele fișierului, conținut și multe altele.