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:
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:
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:
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:
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:
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:
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='yy-mm-dd'
Iepriekš minētā komanda parādīs visas saistības, kas veiktas pēc noteiktā datuma. Apsveriet tālāk norādīto izvadi:
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='21 days ago'
Iepriekš minētā komanda parādīs saistības, kas veiktas pirms 21 dienas. Apsveriet tālāk norādīto izvadi:
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='2019-11-01' --before='2019-11-08 '
Iepriekš minētā komanda parādīs saistības, kas veiktas starp datumiem. Apsveriet tālāk norādīto izvadi:
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='Author name'
Iepriekš minētā komanda parādīs visas noteiktā autora veiktās saistības. Apsveriet tālāk norādīto izvadi:
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='Stephen'
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='@gmail.com'
Iepriekš minētā komanda parādīs autoru saistības, kā norādīts shēmā. Apsveriet tālāk norādīto izvadi:
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=' Commit message.'
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
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.