logo

Git žurnāls

Versiju kontroles sistēmas priekšrocība ir tā, ka tā reģistrē izmaiņas. Šie ieraksti ļauj mums izgūt datus, piemēram, saistības, kļūdu noskaidrošanu, atjauninājumus. Bet visa šī vēsture būs bezjēdzīga, ja nevarēsim tajā orientēties. Šajā brīdī mums ir nepieciešama komanda git log.

Git žurnāls ir utilīta rīks, lai pārskatītu un lasītu vēsturi par visu, kas notiek ar repozitoriju. Lai padarītu vēsturi konkrētāku, ar git žurnālu var izmantot vairākas opcijas.

Parasti git žurnāls ir saistību ieraksts. Git žurnālā ir šādi dati:

    Apņemšanās hash, kas ir 40 rakstzīmju kontrolsummas dati, ko ģenerē SHA (Secure Hash Algorithm) algoritms. Tas ir unikāls numurs.Iesaistīt autora metadatus: informācija par autoriem, piemēram, autora vārds un e-pasts.Izpildes datuma metadati: tas ir datuma laika zīmogs saistību izpildes laikam.Apņemšanās nosaukums/ziņa: tas ir pārskats par apņemšanos, kas norādīts apstiprināšanas ziņojumā.

Kā iziet no git žurnāla komandas?

Var rasties situācija, kad palaižat komandu git log un esat tur iestrēdzis. Jūs vēlaties rakstīt vai atgriezties pie bash, bet nevarat. Kad noklikšķināt uz Ievadiet taustiņu, tas novirzīs jūs uz vecāku komandu līdz beigu karogam.

Šīs problēmas risinājums ir nospiediet uz q (Q, lai izietu) . Tas izslēgs jūs no situācijas un atgriezīs jūs komandrindā. Tagad jūs varat izpildīt jebkuru no komandām.

Pamata Git žurnāls

Git log komanda ir viena no visizplatītākajām git komandām. Tā ir visnoderīgākā komanda Git. Katru reizi, kad jums ir jāpārbauda vēsture, jums ir jāizmanto komanda git log. Pamata git log komanda parādīs jaunākās saistības un galviņas statusu. Tas tiks izmantots kā:

 $ git log 

Iepriekš minētā komanda parādīs pēdējās saistības. Apsveriet tālāk norādīto izvadi:

Git žurnāls

Iepriekš minētajā komandā ir uzskaitītas visas nesen veiktās saistības. Katra apņemšanās satur dažus unikālus sha-id, ko ģenerē SHA algoritms. Tajā ir arī datums, laiks, autors un dažas papildu ziņas.

Mēs varam veikt dažas darbības, piemēram, ritināšanu, lēkšanu, pārvietošanos un aizvēršanu komandrindā. Lai ritinātu komandrindu, nospiediet k, lai pārvietotos uz augšu, j, lai pārvietotos uz leju, atstarpes taustiņu, lai ritinātu par pilnu lapu uz leju, lai ritinātu par lapu uz augšu, un q, lai izietu no komandrindas.

<

Git Log Oneline

Vienas rindas opcija tiek izmantota, lai parādītu izvadi kā vienu apņemšanos katrā rindā. Tas arī parāda izvadi īsumā, piemēram, pirmās septiņas SHA saņemšanas rakstzīmes un apstiprinājuma ziņojuma.

Tas tiks izmantots šādi:

 $ git log --oneline 

Tātad, parasti mēs varam teikt, ka --oneline karodziņš izraisa git žurnāla parādīšanu:

  • viena apņemšanās katrā rindā
  • pirmās septiņas SHA rakstzīmes
  • apņemšanās ziņojums

Apsveriet tālāk norādīto izvadi:

Git žurnāls 1

Kā precīzāk redzam no iepriekš minētās izvades, katra commit tiek norādīta tikai vienā rindā ar septiņu ciparu sha numuru un commit ziņojumu.

Git žurnāla statistika

Žurnāla komanda parāda modificētos failus. Tas parāda arī rindu skaitu un kopējo atjaunināto ierakstu kopsavilkuma rindu.

Parasti mēs varam teikt, ka attēlošanai tiek izmantota statistikas opcija

iekapsulēšanas programma
  • modificētos failus,
  • Pievienoto vai noņemto rindu skaits
  • Kopsavilkuma rinda par kopējo mainīto ierakstu skaitu
  • Pievienotās vai noņemtās rindas.

Tas tiks izmantots šādi:

 $ git log --stat 

Iepriekš minētā komanda parādīs modificētos failus. Apsveriet tālāk norādīto izvadi:

Git žurnāls 2

No iepriekš minētās izvades mēs varam redzēt, ka visas uzskaitītās saistības ir repozitorijas modifikācijas.

Git log P vai Patch

Komanda git log patch parāda modificētos failus. Tas parāda arī pievienoto, noņemto un atjaunināto līniju atrašanās vietu.

Tas tiks izmantots kā:

 $ git log --patch 

Or

 $ git log -p 

Parasti mēs varam teikt, ka karogs --patch tiek izmantots, lai parādītu:

cout
  • Modificēti faili
  • Pievienoto vai noņemto rindu atrašanās vieta
  • Konkrētas izmaiņas, kas veiktas.

Apsveriet tālāk norādīto izvadi:

Git žurnāls 3

Iepriekš redzamajā izvadē tiek parādīti modificētie faili ar pievienoto vai noņemto rindu atrašanās vietu.


Git žurnāla diagramma

Git log komanda ļauj skatīt jūsu git žurnālu kā grafiku. Lai norādītu saistības diagrammas veidā, palaidiet komandu git log ar opciju --graph. Tas darbosies šādi:

 $ git log --graph 

Lai padarītu izvadi precīzāku, varat apvienot šo komandu ar opciju --oneline. Tas darbosies šādi:

 $ git log --graph --oneline 

Saistību vēstures filtrēšana

Mēs varam filtrēt produkciju atbilstoši mūsu vajadzībām. Tā ir unikāla Git funkcija. Izvadei varam izmantot daudzus filtrus, piemēram, summu, datumu, autoru un citus. Katram filtram ir savas specifikācijas. Tos var izmantot dažu izvades navigācijas darbību ieviešanai.

Sīkāk sapratīsim katru no šiem filtriem.

Pēc summas:

Mēs varam ierobežot izvades commit skaitu, izmantojot git log komandu. Tā ir visprecīzākā komanda. Šī komanda novērsīs sarežģītību, ja jūs interesē mazāk saistību izpildes.

Lai ierobežotu git žurnāla izvadi, ieskaitot opciju -. Ja mēs vēlamies tikai pēdējās trīs commit, tad mēs varam nodot argumentu -3 komandā git log. Apsveriet tālāk norādīto izvadi:

Git žurnāls 4

Kā redzams no iepriekš minētās izvades, mēs varam ierobežot git log izvadi.

Pēc datuma un laika:

Mēs varam filtrēt produkciju pēc datuma un laika. Mums ir jāiziet -- pēc vai - pirms tam arguments, lai norādītu datumu. Šie abi argumenti pieņem dažādus datuma formātus. Tas darbosies šādi:

 $ git log --after=&apos;yy-mm-dd&apos; 

Iepriekš minētā komanda parādīs visas saistības, kas veiktas pēc noteiktā datuma. Apsveriet tālāk norādīto izvadi:

Git žurnāls 5

Iepriekš minētajā komandā ir uzskaitītas visas saistības pēc “2019-11-01”.

Mēs varam arī nodot piemērojamo atsauces paziņojumu, piemēram, 'vakar', 'pirms 1 nedēļas', 'pirms 21 dienas' un citus. Tas darbosies kā:

 git log --after=&apos;21 days ago&apos; 

Iepriekš minētā komanda parādīs saistības, kas veiktas pirms 21 dienas. Apsveriet tālāk norādīto izvadi:

Git žurnāls 6

Mēs varam arī izsekot saistībām starp diviem datumiem. Lai izsekotu saistībām, kas tika izveidotas starp diviem datumiem, nosūtiet izraksta atsauci -- pirms tam un -- pēc datums. Pieņemsim, ka mēs vēlamies izsekot saistībām no 2019-11-01 līdz 2019-11-08. Mēs izpildīsim komandu šādi:

 $ git log --after=&apos;2019-11-01&apos; --before=&apos;2019-11-08 &apos; 

Iepriekš minētā komanda parādīs saistības, kas veiktas starp datumiem. Apsveriet tālāk norādīto izvadi:

Git žurnāls 7

Iepriekšējā izvade parāda saistības starp norādīto periodu. Mēs varam izmantot --no un --until, nevis --after un --befor. Jo tie attiecīgi ir sinonīmi.

Pēc autora:

Mēs varam filtrēt noteikta lietotāja saistības. Pieņemsim, ka mēs vēlamies uzskaitīt tikai konkrēta komandas dalībnieka veiktās saistības. Mēs varam izmantot karogu -author, lai filtrētu saistības pēc autora vārda. Šī komanda izmanto regulāru izteiksmi un atgriež sarakstu ar saistībām, ko veikuši autori, kas atbilst šim modelim. Raksta vietā varat izmantot precīzu nosaukumu. Šī komanda darbosies šādi:

 $ git log --author=&apos;Author name&apos; 

Iepriekš minētā komanda parādīs visas noteiktā autora veiktās saistības. Apsveriet tālāk norādīto izvadi:

Git žurnāls 8

No iepriekš minētās produkcijas mēs varam redzēt, ka visas autora saistības Esmu Dwivedi1 ir uzskaitīti.

Regulāras izteiksmes vai precīza nosaukuma vietā varam izmantot virkni. Apsveriet tālāk sniegto paziņojumu:

 $ git log --author=&apos;Stephen&apos; 

Iepriekš minētajā paziņojumā tiks parādītas visas saistības, kuru autors ietver vārdu Stīvens. Autora vārdam nav precīzi jāatbilst; tajā ir tikai norādītā frāze.

Kā zināms, autora e-pasts ir saistīts arī ar autora vārdu, lai mēs varētu izmantot autora e-pastu kā modeli vai precīzu meklēšanu. Pieņemsim, ka mēs vēlamies izsekot to autoru saistībām, kuru e-pasta pakalpojums ir google. Lai to izdarītu, mēs varam izmantot aizstājējzīmes kā @gmail.com. Apsveriet tālāk sniegto paziņojumu:

 $ git log -author=&apos;@gmail.com&apos; 

Iepriekš minētā komanda parādīs autoru saistības, kā norādīts shēmā. Apsveriet tālāk norādīto izvadi:

Git žurnāls 9

Ar apņemšanās ziņojumu:

Lai filtrētu saistības pēc apstiprināšanas ziņojuma. Mēs varam izmantot opciju grep, un tā darbosies kā autora opcija.

Tas darbosies šādi:

 $ git log --grep=&apos; Commit message.&apos; 

Pilna ziņojuma vietā mēs varam izmantot īso apstiprinājuma ziņojuma formu. Apsveriet zemāk redzamo izvadi.

pārdēvējiet direktoriju operētājsistēmā Linux
Git žurnāls 10

Iepriekš redzamajā izvadē tiek parādītas visas saistības, kuru izpildes ziņojumā ir ietverts vārds commit.

Ir pieejamas daudzas citas filtrēšanas iespējas, piemēram, mēs varam filtrēt pēc faila nosaukuma, satura un daudz ko citu.