Viens no būtiskākajiem pakalpojumiem, ko sniedz Git, ir projekta vēsture. Tā kā Git seko visām izmaiņām failos, kas veiktas repozitorijā, tas var piedāvāt ļoti spēcīgas reģistrēšanas funkcijas. Jūs varat vaicāt projekta vēsturē dažādos veidos, kā arī iegūt un parādīt dažādus datus, izmantojot vienu elastīgu komandu.

The git žurnāls komanda ir milzīga, lielākā no visām parastajām Git komandām. Tās rokasgrāmata ir garāka par 2500 līnijām. Par laimi, git žurnāls nodrošina lielāko daļu visnoderīgākās uzvedības, izmantojot tikai dažas galvenās iespējas.

Pamata reģistrēšana ar noklusējuma uzvedību

Pēc noklusējuma, git žurnāls parāda reverso hronoloģisko saistību sarakstu. Katrā saistībā ir ietverts hash, autors, datums un saistības ziņojums:

Komanda izmanto peidžeri (piemēram, mazāk, vairāk), lai parādītu pilnu izvadi, lai jūs varētu viegli orientēties rezultātos. Varat konfigurēt Git izmantot jūsu izvēlētu programmu, piemēram, visvairāk peidžeri.

Šeit ir daži git žurnāla izvadi no git avota koda krātuve pati:

veikt 670b81a890388c60b7032a4f5b879f2ece8c4558 (HEAD -> master, origin / next,
izcelsme / kapteinis, izcelsme / GALVA)
Autors: Junio ​​C Hamano
Datums: pirmdiena, jūnijs 14 13:23:28 2021 +0900
Otrā partija
Pierakstījies: Junio ​​C Hamano

Rezultāts sākas ar hash (670...), kam seko filiāļu saraksts, kas pašlaik norāda uz šo saistību (GALVA -> meistarsutt.)

Nākamajā rindā aprakstīts šīs saistības autors, norādot viņu vārdu un e-pasta adresi.

Pilns saistību izpildes datums un laiks seko nākamajā rindā.

Visbeidzot, tiek parādīts pilns saistību ziņojuma saturs. Ar komandrindas opcijām varat kontrolēt lielāko daļu visa pārējā, ko piedāvā git log. Ir divi galvenie iespēju veidi:

  • Formatēšana, kas nosaka, kā Git parāda katru apņemšanos.
  • Filtrēšana, kas nosaka, kas apņemas git žurnāls ietilpst.

Papildus komandrindas opcijām git log pieņem argumentus, kas norāda failus, saistības, atzarus vai cita veida atsauces. Tie attiecas uz turpmāku filtrēšanu.

Git žurnāla izejas formatēšana

Viens no vienkāršākajiem pielāgojumiem ir --līnijā opcija, kas nodrošina ļoti īsu rezultātu:

git log - tiešsaistē

Katrā žurnāla rindiņā tagad ir tikai saīsināts saistīšanas jaucējs un tēma apņemšanās ziņojums. Tas ir lielisks veids, kā iegūt pārskatu par nesenajām saistībām attiecībā uz projektu:

Diemžēl bez cita konteksta šī informācija ne vienmēr ir tik noderīga. Tas varētu dot jums neskaidru priekšstatu par projektu, taču tajā trūkst datumu un citas noderīgas informācijas par autoriem un failiem.

Filiāles diagrammas apskate

The - grafiks opcija ļauj vizualizēt attiecības starp filiālēm. Tas ir ļoti vienkāršs, bet var palīdzēt atšķetināt sarežģīto vēsturi.

git žurnāls - tiešsaistē - grafiks

Saistīts: Kā izveidot jaunu filiāli Git

Pielāgota diezgan izeja

Sarežģītāku formatēšanu var sasniegt, detalizēti norādot to, izmantojot - diezgan opcija. Sintakse iet no ļoti vienkāršas līdz daudz sarežģītākai, tātad Pilnīgu informāciju skatiet rokasgrāmatā.

git log - diezgan = īss

Būtībā ir tāds pats kā git žurnāls bez datuma vai pilna ziņojuma:

git log - diezgan = online

Ir ekvivalents git log - tiešsaistē.

git log - diezgan = pilnīgāks

Ietver daudz detaļu. Tas pat atdala autoru un apņēmēju, kas teorētiski var būt dažādi cilvēki:

Ar formāts: variantu, varat piegādāt virkni, kas satur jebkādu vajadzīgo saturu, ieskaitot vietturus, kas aizstāti ar dažādiem datiem. Šeit ir daži vietturu piemēri:

  • % H izdarīt hash
  • % h saīsināts saistīt hash
  • % reklāma autora datums
  • % ar autora datums, radinieks
  • % s izdarīt ziņojuma tēmu
  • % b izdarīt ziņojuma pamattekstu
  • % lpp saīsināti vecāku jaukšanas gadījumi

Izvadei varat pievienot fiksētas rakstzīmes un to iekrāsot. Šajā piemērā ir parādītas arī datuma formāta variācijas:

git žurnāls - diezgan = formāts: '% C (automātisks)% h [% ad]% s' - datums = īss

Ņemiet vērā, ka iekavās ir ietverts datums. Neatkarīgi no izvēlētā formatējuma, ja vēlaties, lai izvade būtu noderīga cauruļvadā vai citiem teksta apstrādes veidiem, jums jāapsver, kā norobežot katru izvades daļu.

Parāda atšķirības žurnālā

Svarīga informācija, aplūkojot krātuves vēsturi, ir paši diff. Viņi galu galā atspoguļo to, kas faktiski ir mainījies kodā! Iesācējiem jūs varat saņemt izmaiņu kopsavilkumu blakus katrai saistībai, izmantojot --šortstat:

git žurnāls - shortstat

Tādējādi tiek pievienota šāda rinda:

Mainīts 1 fails, 48 ​​ievietojumi (+), 2 dzējumi (-)

Katras saistības apakšā. Jūs bieži redzat šāda veida kopsavilkumu, piemēram, visās GitHub lapās, un tas ir noderīgs veids, kā ātri spriest par konkrētās saistības apjomu. Lai iegūtu sīkāku informāciju, varat iekļaut pilnu plākstera izvadi (diffs), izmantojot -p karogs:

git log -p

Git žurnāla izejas filtrēšana

Neatkarīgi no lietotā formatējuma jūs joprojām redzēsit visu saistīto darbību žurnālu pašreizējā filiālē. Lai arī Git tos sadala lappusēs, tas tomēr var radīt daudz rezultātu. Šīs opcijas ļauj pielāgot, kuras saistības žurnāls ietver.

Ierobežošana pēc summas

Ja vēlaties tikai sagriezt rezultātus, lai parādītu pēdējās dažas saistības, izmantojiet - [numurs] sintakse:

git log -2

Ierobežošana pēc datuma

Lai ierobežotu saistību kopu līdz noteiktam datumu diapazonam, izmantojiet - kopš tā laika (- pēc tam) un - līdz (- pirms) opcijas. Katram no tiem ir datums ISO 8601 formātā. Jūs varat izmantot vai nu - kopš tā laika vai - līdz atsevišķi vai abi kopā, lai norādītu diapazonu. Iespējas - pēc tam un - pirms ir sinonīmi.

git log --since = "2021-01-01" - līdz = "2021-05-01"

Ierobežošana pēc faila

Git žurnāls var koncentrēties uz konkrētu failu, nevis uz visiem jūsu krātuves failiem. Tas ir lieliski, lai palīdzētu jums uzzināt, kā konkrētais fails laika gaitā ir mainījies. Vienkārši pievienojiet faila nosaukumu savas git komandas beigām:

git žurnāla faila nosaukums

Jūs redzēsiet tikai tās saistības, kuras ietekmēja faila nosaukums.

Nozaru atšķirības

Apskatot filiāles žurnālu, jums var būt dažas unikālas prasības. Piemēram, tā vietā, lai redzētu visu vēsturi, jūs vienkārši vēlaties redzēt, kas ir mainījies šajā konkrētajā nozarē. Git žurnāls var palīdzēt, izmantojot ref1..ref2 sintakse. Varat izmantot trīs nedaudz atšķirīgas pieejas:

  1. Skatīt galvenās saistības, bet ne filiāles:
    git log - sākotnējā izcelsme / filiāle.. izcelsme / galvenā
  2. Skatīt saistības, kas atrodas filiālē, bet nav galvenās:
    git log - sākotnējā izcelsme /galvenais..origin /zars
  3. Skatīt saistības, kas pastāv tikai filiālē vai galvenajā:
    git log - līnijas izcelsme / filiāle...izcelsme / galvenā

Tāpat kā jūs varat apskatīt vēsturi starp filiālēm, izmantojot ref1..ref2 sintakse, tāpat var skatīt arī tagu vēsturi. Galu galā gan tagi, gan filiāles ir atsauces veidi.

git log - abbrev-saistīties - diezgan = formāts: '% h% ar% s' v2.32.0-rc3..v2.32.0

Ja gatavojat izlaišanas piezīmes lielākam projektam, git saīsinājums vajadzētu būt jūsu pirmajai piestāšanas ostai. Tajā tiek sastādīts saraksts ar autoriem, kuriem līdzās ir apņemšanās tēmas. Varat tam nodot atsauces diapazonu, lai ierobežotu vēsturi līdzīgi kā žurnāla git:

git shortlog v2.32.0-rc3..v2.32.0

The git show komanda ir vēl daudzpusīgāks nekā git žurnāls. Tas var strādāt ar tagiem un cita veida git objektiem, kas nav saistīti ar vēsturi. Tam ir daudz iespēju ar git žurnāls, bet tas jums patiešām būs vajadzīgs tikai tad, ja jums vajadzēs iedziļināties zemāka līmeņa detaļās.

Pārskatiet pagātni ar Git žurnālu

Git žurnāls ir sarežģīta komanda, taču jūs varat daudz izmantot no tā pamata iespējām. Krātuves vēstures pārlūkošana ir lielisks veids, kā saprast, cik bieži notiek izmaiņas un cik cilvēku tās veic. Kad būsiet labi izpratis projekta vēsturi, jums būs lieliskas iespējas tajā piedalīties.

E-pasts
Pievienojieties sociālās kodēšanas tendencei un sniedziet ieguldījumu GitHub krātuvēs

Vai vēlaties vingrināt kodēšanas muskuļus un palīdzēt atvērtā pirmkoda projektos? Lūk, kā sniegt ieguldījumu GitHub izveidē.

Lasiet Tālāk

Saistītās tēmas
  • Programmēšana
  • GitHub
  • Kodēšanas padomi
Par autoru
Bobijs Džeks (Publicēti 54 raksti)

Bobijs ir tehnoloģiju entuziasts, kurš gandrīz divas desmitgades strādāja par programmatūras izstrādātāju. Viņš aizrauj spēles, strādā par atsauksmju redaktoru žurnālā Switch Player un ir iedziļinājies visos tiešsaistes izdevējdarbības un tīmekļa izstrādes aspektos.

Vairāk no Bobija Džeka

Abonējiet mūsu biļetenu

Pievienojieties mūsu informatīvajam izdevumam par tehniskiem padomiem, atsauksmēm, bezmaksas e-grāmatām un ekskluzīviem piedāvājumiem!

Vēl viens solis !!!

Lūdzu, apstipriniet savu e-pasta adresi e-pastā, kuru tikko nosūtījām.

.