logo

Git žurnalas

Versijų valdymo sistemos pranašumas yra tas, kad ji registruoja pakeitimus. Šie įrašai leidžia mums gauti duomenis, pvz., įsipareigojimus, išsiaiškinti klaidas, naujinimus. Tačiau visa ši istorija bus nenaudinga, jei negalėsime jos naršyti. Šiuo metu mums reikia git log komandos.

„Git log“ yra įrankis, skirtas peržiūrėti ir skaityti visko, kas vyksta su saugykla, istoriją. Su git žurnalu galima naudoti kelias parinktis, kad istorija būtų konkretesnė.

Paprastai git žurnalas yra įsipareigojimų įrašas. Git žurnale yra šie duomenys:

    Įsipareigojimas maišos, kuris yra 40 simbolių kontrolinės sumos duomenys, sugeneruoti SHA (Secure Hash Algorithm) algoritmu. Tai unikalus numeris.Įsipareigoti autoriaus metaduomenis: informacija apie autorius, pvz., autoriaus vardas ir el. pašto adresas.Įsipareigojimo datos metaduomenys: tai datos laiko žyma, skirta įsipareigojimo laikui.Įsipareigoti pavadinimą/pranešimą: Tai yra įsipareigojimo, pateikto patvirtinimo pranešime, apžvalga.

Kaip išeiti iš „git log“ komandos?

Gali nutikti situacija, kai paleidžiate komandą git log ir ten įstrigote. Norite įvesti tekstą arba grįžti į bash, bet negalite. Kai paspausite Įeikite klavišą, jis nukreips jus į senesnę komandą iki pabaigos vėliavėlės.

Šios problemos sprendimas yra paspauskite į q (Q už išeiti) . Tai pašalins jus iš situacijos ir grąžins jus į komandinę eilutę. Dabar galite atlikti bet kurią komandą.

Pagrindinis Git žurnalas

Git log komanda yra viena iš labiausiai paplitusių git komandų. Tai pati naudingiausia komanda Git. Kiekvieną kartą, kai reikia patikrinti istoriją, turite naudoti komandą git log. Pagrindinė git log komanda parodys naujausius įsipareigojimus ir galvos būseną. Jis bus naudojamas kaip:

 $ git log 

Aukščiau pateikta komanda parodys paskutinius įsipareigojimus. Apsvarstykite toliau pateiktą išvestį:

Git žurnalas

Aukščiau pateikta komanda išvardija visus naujausius įsipareigojimus. Kiekviename įsipareigojime yra tam tikras unikalus sha-id, kurį sugeneruoja SHA algoritmas. Jame taip pat yra data, laikas, autorius ir kai kurios papildomos informacijos.

Komandinėje eilutėje galime atlikti kai kuriuos veiksmus, pvz., slinkti, šokinėti, judėti ir išeiti. Norėdami slinkti komandų eilutėje, paspauskite k, kad pereitumėte aukštyn, j, kad judtumėte žemyn, tarpo klavišą slinktumėte visu puslapiu žemyn, kad slinktumėte puslapiu aukštyn, ir q, kad išeitumėte iš komandinės eilutės.

<

Git Log Oneline

Vienos eilutės parinktis naudojama norint parodyti išvestį kaip vieną įsipareigojimą eilutėje. Tai taip pat trumpai rodo išvestį, pavyzdžiui, pirmuosius septynis patvirtinimo SHA simbolius ir patvirtinimo pranešimą.

Jis bus naudojamas taip:

 $ git log --oneline 

Taigi, paprastai galime pasakyti, kad vėliavėlė --oneline rodo git žurnalą:

  • vienas įsipareigojimas eilutėje
  • pirmieji septyni SHA simboliai
  • įsipareigojimo pranešimą

Apsvarstykite toliau pateiktą išvestį:

Git žurnalas 1

Kaip tiksliau matome iš aukščiau pateiktos išvesties, kiekvienas įsipareigojimas pateikiamas tik vienoje eilutėje su septynių skaitmenų sha numeriu ir įsipareigojimo pranešimu.

Git žurnalo statistika

Žurnalo komanda rodo failus, kurie buvo modifikuoti. Taip pat rodomas eilučių skaičius ir visų atnaujintų įrašų suvestinės eilutė.

Paprastai galime pasakyti, kad rodymui naudojama stat parinktis

skaičiuoti skirtingai
  • modifikuoti failai,
  • Eilučių, kurios buvo pridėtos arba pašalintos, skaičius
  • Pakeista bendro įrašų skaičiaus suvestinės eilutė
  • Eilutės, kurios buvo pridėtos arba pašalintos.

Jis bus naudojamas taip:

 $ git log --stat 

Aukščiau pateikta komanda parodys failus, kurie buvo modifikuoti. Apsvarstykite toliau pateiktą išvestį:

Git žurnalas 2

Iš aukščiau pateiktos išvesties matome, kad visi išvardyti įsipareigojimai yra saugyklos modifikacijos.

Git log P arba Patch

Komanda „git log patch“ rodo modifikuotus failus. Taip pat rodoma pridėtų, pašalintų ir atnaujintų eilučių vieta.

Jis bus naudojamas kaip:

 $ git log --patch 

Arba

 $ git log -p 

Paprastai galime sakyti, kad vėliavėlė --patch naudojama rodyti:

  • Modifikuoti failai
  • Eilučių, kurias pridėjote arba pašalinote, vieta
  • Konkretūs pakeitimai, kurie buvo padaryti.

Apsvarstykite toliau pateiktą išvestį:

Git žurnalas 3

Aukščiau pateiktame išvestyje rodomi modifikuoti failai su pridėtų arba pašalintų eilučių vieta.


Git žurnalo grafikas

„Git log“ komanda leidžia peržiūrėti „git“ žurnalą kaip grafiką. Norėdami įrašyti įsipareigojimus grafiko pavidalu, paleiskite komandą git log su parinktimi --graph. Jis veiks taip:

 $ git log --graph 

Kad išvestis būtų konkretesnė, šią komandą galite derinti su parinktimi --oneline. Jis veiks taip:

driekiasi medžiai
 $ git log --graph --oneline 

Įsipareigojimų istorijos filtravimas

Mes galime filtruoti išvestį pagal savo poreikius. Tai unikali „Git“ savybė. Galime pritaikyti daugybę filtrų, tokių kaip suma, data, autorius ir kt. Kiekvienas filtras turi savo specifikacijas. Jie gali būti naudojami kai kurioms išvesties navigacijos operacijoms įgyvendinti.

Supraskime kiekvieną iš šių filtrų išsamiai.

Pagal sumą:

Mes galime apriboti išvesties įsipareigojimų skaičių naudodami komandą git log. Tai pati konkretiausia komanda. Ši komanda pašalins sudėtingumą, jei jus domina mažiau įsipareigojimų.

Norėdami apriboti git žurnalo išvestį, įskaitant parinktį -. Jei norime tik paskutinius tris įsipareigojimus, tada komandoje git log galime perduoti argumentą -3. Apsvarstykite toliau pateiktą išvestį:

Git žurnalas 4

Kaip matome iš aukščiau pateiktos išvesties, galime apriboti git log išvestį.

Pagal datą ir laiką:

Mes galime filtruoti išvestį pagal datą ir laiką. Turime praeiti -- po arba -prieš argumentas datai nurodyti. Šie abu argumentai priima įvairius datos formatus. Jis veiks taip:

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

Aukščiau pateikta komanda parodys visus įsipareigojimus, atliktus po nurodytos datos. Apsvarstykite toliau pateiktą išvestį:

Git log 5

Aukščiau pateiktoje komandoje pateikiami visi įsipareigojimai po „2019-11-01“.

Taip pat galime perduoti taikomą nuorodos teiginį, pvz., „vakar“, „prieš 1 savaitę“, „prieš 21 dieną“ ir kt. Jis veiks kaip:

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

Aukščiau pateikta komanda parodys įsipareigojimus, kurie buvo atlikti prieš 21 dieną. Apsvarstykite toliau pateiktą išvestį:

Git žurnalas 6

Taip pat galime stebėti įsipareigojimus tarp dviejų datų. Norėdami stebėti įsipareigojimus, kurie buvo sukurti tarp dviejų datų, pateikite ataskaitos nuorodą --prieš ir -- po data. Tarkime, mes norime stebėti įsipareigojimus tarp „2019-11-01“ ir „2019-11-08“. Mes vykdysime komandą taip:

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

Aukščiau pateikta komanda parodys įsipareigojimus, atliktus tarp datų. Apsvarstykite toliau pateiktą išvestį:

Git žurnalas 7

Aukščiau pateikta produkcija rodo įsipareigojimus tarp nurodyto laikotarpio. Vietoj --af ir --befor galime naudoti --nuo ir --iki. Nes jie atitinkamai yra sinonimai.

Pagal autorių:

Mes galime filtruoti konkretaus vartotojo įsipareigojimus. Tarkime, norime išvardyti tik konkretaus komandos nario įsipareigojimus. Galime naudoti -author vėliavėlę, kad filtruotume įsipareigojimus pagal autoriaus vardą. Ši komanda naudoja reguliariąją išraišką ir grąžina tą šabloną atitinkančių autorių atliktų įsipareigojimų sąrašą. Vietoj modelio galite naudoti tikslų pavadinimą. Ši komanda veiks taip:

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

Aukščiau pateikta komanda parodys visus nurodyto autoriaus atliktus įsipareigojimus. Apsvarstykite toliau pateiktą išvestį:

Git žurnalas 8

Iš aukščiau pateiktos produkcijos matome, kad visi autoriaus įsipareigojimai Esu Dwivedi1 yra išvardyti.

Vietoj reguliaraus reiškinio ar tikslaus pavadinimo galime naudoti eilutę. Apsvarstykite toliau pateiktą teiginį:

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

Aukščiau pateiktame teiginyje bus rodomi visi įsipareigojimai, kurių autorius apima vardą Stephen. Autoriaus vardas nebūtinai turi tiksliai sutapti; jame yra tik nurodyta frazė.

Kaip žinome, autoriaus el. pašto adresas taip pat yra susijęs su autoriaus vardu, kad galėtume naudoti autoriaus el. pašto adresą kaip šabloną arba tikslią paiešką. Tarkime, norime sekti autorių, kurių el. pašto paslauga yra „Google“, įsipareigojimus. Norėdami tai padaryti, galime naudoti pakaitos simbolius kaip „@gmail.com“. Apsvarstykite toliau pateiktą teiginį:

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

Aukščiau pateikta komanda parodys autorių įsipareigojimus, kaip nurodyta šablone. Apsvarstykite toliau pateiktą išvestį:

Git žurnalas 9

Įsipareigojimo žinute:

Norėdami filtruoti įsipareigojimus pagal patvirtinimo pranešimą. Galime naudoti grep parinktį ir ji veiks kaip autoriaus parinktis.

Jis veiks taip:

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

Vietoj pilno pranešimo galime naudoti trumpąją įsipareigojimo pranešimo formą. Apsvarstykite žemiau pateiktą išvestį.

Git žurnalas 10

Aukščiau pateiktame išvestyje rodomi visi įsipareigojimai, kurių įsipareigojimo pranešime yra žodis commit.

Yra daug kitų filtravimo parinkčių, pavyzdžiui, galime filtruoti pagal failo pavadinimą, turinį ir kt.