Kā pārbaudīt projekta vēsturi, izmantojot Git žurnālu

Kā pārbaudīt projekta vēsturi, izmantojot Git žurnālu

Viens no vissvarīgākajiem pakalpojumiem, ko sniedz Git, ir projekta vēsture. Tā kā Git izseko visas izmaiņas repozitorijā veiktajos failos, tas var piedāvāt ļoti spēcīgas reģistrēšanas funkcijas. Jūs varat vaicāt projekta vēsturi dažādos veidos, un jūs varat 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 vairāk nekā 2500 rindu gara. Par laimi, git žurnāls nodrošina lielāko daļu tās visnoderīgākās darbī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 apgriezto hronoloģisko saistību sarakstu. Katrs apņemšanās ietver savu jaukšanu, autoru, datumu un saistīšanas ziņojumu:





Komanda izmanto peidžeri (piemēram, mazāk, vairāk), lai parādītu pilnu izvadi, lai jūs varētu viegli pārvietoties rezultātos. Jūs varat konfigurēt Git, lai izmantotu jūsu izvēlēto programmu, piemēram, lielāko peidžeri.

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



commit 670b81a890388c60b7032a4f5b879f2ece8c4558 (HEAD -> master, origin/next,
origin/master, origin/HEAD)
Author: Junio C Hamano
Date: Mon Jun 14 13:23:28 2021 +0900
The second batch
Signed-off-by: Junio C Hamano

Rezultāts sākas ar saistības sajaukšanu ( 670 ...), kam seko to filiāļu saraksts, kas pašlaik norāda uz šo apņemšanos ( GALVA -> meistars utt.)

kā paātrināt internetu tālrunī

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





Pilns apņemšanās datums un laiks ir norādīts nākamajā rindā.

Visbeidzot, tiek parādīts pilns apņemšanās ziņojuma saturs. Jūs varat kontrolēt lielāko daļu visa cita, ko piedāvā git žurnāls, izmantojot komandrindas opcijas. Ir divi galvenie opciju veidi:





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

Papildus komandrindas opcijām git žurnāls pieņem argumentus, kas norāda failus, saistības, filiāles vai cita veida atsauces. Tie attiecas uz papildu filtrēšanu.

Git žurnāla izvades formatēšana

Viens no vienkāršākajiem pielāgojumiem ir -tiešsaistē iespēja, kas rada ļoti īsu rezultātu:

git log --oneline

Katrā žurnāla rindiņā tagad ir tikai saīsināta apņemšanās hash un apņemšanās ziņojuma tēma. Tas ir lielisks veids, kā iegūt pārskatu par nesen veiktajām projekta saistībām:

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

Nozares diagrammas apskate

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

git log --oneline --graph

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

Pielāgota diezgan izvade

Jūs varat sasniegt sarežģītāku formatējumu, detalizēti norādot to, izmantojot -smuki iespēja. Sintakse ir no ļoti vienkāršas līdz daudz sarežģītākai lai iegūtu sīkāku informāciju, skatiet rokasgrāmatu .

kā izdarīt ietekmi uz attēlu
git log --pretty=short

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

git log --pretty=oneline

Ir līdzvērtīgs git log -tiešsaistē .

git log --pretty=fuller

Ietver daudz detaļu. Tas pat atdala autoru un pasūtītāju, kuri teorētiski var būt dažādi cilvēki:

Ar formāts: var piedāvāt virkni, kurā ir jebkurš vēlamais saturs, ieskaitot vietturus, kurus aizstāj dažādi dati. Šeit ir daži vietturu piemēri:

  • %H veikt hash
  • %h saīsināts veikt hash
  • %līdz autora datums
  • %ar autora datums, radinieks
  • %s izveidot ziņojuma tēmu
  • % b nodot ziņojuma pamattekstu
  • %lpp saīsinātas vecāku hash

Izvadei varat pievienot fiksētas rakstzīmes un krāsot to. Šis piemērs parāda arī datuma formāta variāciju:

git log --pretty=format:'%C(auto) %h [%ad] %s' --date=short

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

Žurnālā tiek parādītas atšķirības

Svarīga detaļa, aplūkojot krātuves vēsturi, ir pašas atšķirības. Galu galā tie atspoguļo to, kas kodā faktiski ir mainījies! Iesācējiem varat iegūt izmaiņu kopsavilkumu līdzās katrai saistībai, izmantojot -īss statuss :

git log --shortstat

Tas pievieno šādu rindu:

1 file changed, 48 insertions(+), 2 deletions(-)

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

git log -p

Git žurnāla izvades filtrēšana

Neatkarīgi no formatējuma, kuru izmantojat, jūs joprojām redzēsit visu pašreizējās nozares visu saistību žurnālu. Lai gan Git tos sadala lapās, tas joprojām var būt daudz iznākuma. Tālāk norādītās opcijas ļauj pielāgot žurnālā iekļautās saistības.

Ierobežo pēc apjoma

Ja vēlaties tikai apgriezt rezultātus, lai parādītu pēdējās 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 tam ) iespējas. Katram no tiem ir datums ISO 8601 formātā. Jūs varat izmantot jebkuru -kopš tā laika vai -līdz atsevišķi vai abi kopā, lai norādītu diapazonu. Iespējas -pēc tam un -pirms tam ir sinonīmi.

git log --since='2021-01-01' --until='2021-05-01'

Ierobežošana pēc faila

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

git log filename

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

Atšķirības starp filiālēm

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

  1. Skatīt saistības, kas ir galvenās, bet ne filiāles: | _+_ |
  2. Skatīt saistības, kas ir filiālē, bet nav galvenās: | _+_ |
  3. Skatīt saistības, kas pastāv tikai filiālē vai galvenajā: | _+_ |

Atšķirības starp diviem tagiem

Tāpat kā varat skatīt vēsturi starp filiālēm, izmantojot ref1..ref2 sintaksi, tāpat varat skatīt vēsturi starp tagiem. Galu galā gan tagi, gan filiāles ir atsauces veidi.

git log --oneline origin/branch..origin/main

Ja gatavojat izlaiduma piezīmes lielākam projektam, git īsu emuāru vajadzētu būt jūsu pirmajai piestāšanas ostai. Tas izveido to autoru sarakstu, kuriem blakus ir arī temati. Jūs varat nodot tam atsauces diapazonu, lai ierobežotu vēsturi līdzīgā veidā kā git žurnāls:

git log --oneline origin/ main ..origin/ branch

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

Pārskatiet pagātni, izmantojot Git žurnālu

Git žurnāls ir sarežģīta komanda, taču jūs varat daudz izmantot no tās 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 daudz cilvēku tās veic. Tiklīdz jūs labi sapratīsit projekta vēsturi, jums būs lieliska iespēja tajā piedalīties.

Skype nepieslēdzas internetam
Kopīgot Kopīgot Čivināt E -pasts Pievienojieties sociālās kodēšanas tendencei un dodiet ieguldījumu GitHub krātuvēs

Vai vēlaties izmantot kodēšanas muskuļus un palīdzēt atvērtā koda projektos? Tālāk ir norādīts, kā sniegt ieguldījumu GitHub.

Lasīt Tālāk
Saistītās tēmas
  • Programmēšana
  • GitHub
  • Kodēšanas padomi
Par autoru Bobijs Džeks(58 raksti publicēti)

Bobijs ir tehnoloģiju entuziasts, kurš gandrīz divus gadu desmitus strādāja par programmatūras izstrādātāju. Viņš aizraujas ar spēlēm, strādā par atsauksmju redaktoru žurnālā Switch Player un ir iedziļinājies visos tiešsaistes publicēšanas 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, lai iegūtu tehniskus padomus, pārskatus, bezmaksas e -grāmatas un ekskluzīvus piedāvājumus!

Noklikšķiniet šeit, lai abonētu