Hvordan bruker jeg Git Log for å formatere forpliktelsesloggen?



Git er et verktøy som hjelper til med å organisere og administrere kildekoden til applikasjonene dine. Lær alt om git log format format kommando og hvordan du bruker den.

I denne artikkelen vil vi diskutere noen avanserte alternativer for å formatere og skrive ut kommitteringsloggene for å hente informasjonen du trenger ut av prosjektjournalhistorikken. Siden vi allerede vet, holder en oversikt over endringene som er forpliktet til prosjekthistorikken, skal vi nå utforske flere måter 'git log' -kommandoen er nyttig.

For det første bytter jeg til / sjekker ut 'feature1' -grenen for en praktisk og kortere historie.
Bruk kommandoene -





$cd myProj–Bytt til git-prosjektet

$git checkout-funksjonen 1–Hopp til “feature1” -grenen



1. Forplikt formatering

1.1 Skriv ut utskriftsinnholdet pent i et gitt format

Syntaks: git log - ganske [=]

hvor, kan være en av en linje, kort, medium, full, fyldigere, e-post, , og format:
Når = del er utelatt, er den som standard medium.

1.1.1 – ganske = oneline

Vakker utskriftslogg på en 'enkelt linje'
Kommando: git log - ganske = online
Formaterer utgangen i rekkefølge:




Commit - Git log format format - Edureka

1.1.2 – ganske = kort

Format kommittoutgang ‘kort’ i formatet:
begå (refname)
Forfatter:



1.1.3 – ganske = medium

Kommando: git log - ganske = medium
Skriv ut kommisjonsutdata i ‘medium’ format:
begå
Forfatter :
Dato:


1.1.4 – ganske = full

Kommando: git log - ganske = full
Output er i formatet:
begå (refname)
Forfatter:
Begå:


1.1.5 – ganske = fyldigere

Kommando: git log - ganske = fyldigere
begå (refname)
Forfatter:
Forfatterdato :
Begå:
CommitDate:


1.1.6 – ganske = e-post

Kommando: git-logg - ganske = e-post
Skriv ut loggutdata i e-postformat:
Fra
Fra:
Dato:
Emne: [LAPP]


1.1.7 – ganske = rå

Kommando: git log - ganske = rå
Det rå loggutdataformatet viser hele forpliktelsen nøyaktig som lagret i forpliktelsesobjektet.
begå
tre
foreldre
forfatter
begå

1.1.8 –format:: Tilpasset formatering

Formatet lar deg spesifisere hvilken informasjon for forpliktelsesobjektet du vil skrive ut i forpliktelsesutgangsloggen
La oss se på de forskjellige plassholderne som dette alternativet gir akkurat som en 'C printf' -funksjon ved hjelp av kodebiter:

Kommando: git log --pretty = format: '% h% ad | % s% d [% an] '--dato = kort
Utgående format:
| [forfatternavn]

% h = Forkortet hash-id / sha1commit ID
% H = lange sha-1-IDer
%til = forfatterdato
% s = begå emnetittelinje
% d = referanse peker (gren, tag) navn
% an = forfatternavn
-Dato = kort: Skriv ut bare datoen og ikke klokkeslettet i et lesbart format

Nå, hva med å gjøre denne produksjonen mer menneskelig, ved å bruke farger.
Kommando:
git log --pretty = format: '% C (gul)% h% Creset% ad | % Cgreen% s% Creset% Cred% d% Creset% Cblue [% an] '--dato = kort


Noen andre plassholdere som brukes i kodebiten ovenfor er:
% C (gul) : Vri følgende streng til gul
% Creset : Tilbakestill følgende streng tilbake til standardfargen (hvit)
% Cgreen : endre følgende streng til grønn
%Jeg antar: Endre følgende streng til rød
% Cblue: Gjør forfatternavnet blått i fargen

Du trenger ikke å huske og skrive hele kommandoen hver gang, bare bruk et kort navn som git alias som vist under:
Kommando:
git config --global alias.c-hist 'log --pretty = format:'% C (gul)% h% Creset% ad | % Cgreen% s% Creset% Cred% d% Creset% Cblue [% an] '--date = short'

“C-hist” representerer c tilpasset- hist ory
Så som du ville ha observert, setter jeg mitt globale git-konfigurasjon filen med verdiene.

java delt streng flere avgrensere

Nå, for å sjekke historikken til den nåværende grenen, er alt du trenger å gjøre å kjøre kommandoen, slik:
Kommando: gå c-hist

1.2 –abbrev-commit: Forkort git commit hash-id

Kommando: git log --abbrev-commit
Hele 40-byte heksadesimale forpliktelsesobjektnavnet forkortes til standard 7-byte.


La oss klubbe det med--en linje‘Alternativ for en praktisk utsikt, slik som:
Kommando: git log --abbrev-commit --oneline

Det som er mer spennende er at du også kan spesifisere byte-lengden på sha-1-IDene ved å bruke alternativet ‘–abbrev =’, som vist nedenfor:
Kommando: git log --abbrev-commit --abbrev = 5 --online



Det er klart at de uthevede sha-1-IDene blir redusert til 5 byte størrelse.

1.3 –no-abbrev-commit

Vis det fullstendige heksadesimale kommandobjektnavnet på 40 byte.
Dette negerer –Abbrev-begå og de alternativene som innebærer
det som “–online”.
Kommando: git log --pretty = oneline --no-abbrev-commit



1.4 –relativ dato

Kommando: git log --relativ dato

Vær oppmerksom på at denne uthevede tiden kan endres med henvisning til tiden du utfører kommandoen på systemet ditt.

1.5 –dato =

Du kan også formatere datoen for forpliktelsesloggene i et av følgende formatalternativer:

1.5.1 –dato = relativ

Kommando :git log --dato = relativ
Dette er synonymt med kommandoen ovenfor “git log --relativ dato”Og skriver ut de samme forpliktelsene.

1.5.2 –dato = lokal

Kommando : git log --dato = lokal

1.5.3 –dato = iso

Kommando: git log --dato = iso

1.5.4 –dato = isostreng

Kommando: git log --date = isostreng

1.5.5 –dato = rfc

Kommando: git-logg - dato = rfc

1.5.6 –dato = kort

Kommando: git log --dato = kort

1.5.7 –dato = rå (viser datoen i sekunder)

Kommando: git log --dato = rå
Skriv ut tiden som sekunder siden unix epoc tid (01 jan 1970) etterfulgt av tidssonen.

1.5.8 –dato = menneske

Kommando: git log --dato = menneske

1.5.9 –dato = unix

Viser datoen som unix epoc (UTC) tid.
Kommando: git log --dato = unix

1,6 –foreldre

Skriv også ut foreldrene til hver forpliktelse i formatet:
Kommando: git log - foreldre
Oneliner-utgangskommando: git log --parents --oneline

Poeng å merke seg:
C366419 er en fusjonsforpliktelse, og har dermed to foreldre henholdsvis: feeb30c og 4920adc
like måte

1d67b50 er en fusjonsforpliktelse som er et resultat av sammenslåing f2ff2e4 og abb694b
078f9f5 er en fusjonsforpliktelse opprettet ved sammenslåing 9a2412e og ab3a5e5
Mens, 86792c6 er den første forpliktelsen, derav ingen foreldre.

1,7 - barn

Skriv også barna ut i skjemaet
Kommando: git log - barn --online

Merk :
006b9ce er den siste forpliktelsen, og derfor har ingen barn begått objekt ennå. Den neste endringen du foretar og forplikter deg til denne grenen, vil være objektet for barnets forpliktelse til denne siste sha-1-iden.

1,8 –graf

Tegn en tekstbasert grafisk fremstilling av forpliktelseshistorikken før sha-1-ID-ene.
Kommando: git log - graf
Forbedret oneliner-utgang: git log --graph --oneline


Dette lar deg forstå når, hvordan og hvorfor og andre grener ble slått sammen til den for tiden utsjekkede grenen.

1.9 –show-lineær-break

Kommando: git log --show-linear-break
Dette er en nyttig kommando for å indikere en barriere mellom to påfølgende forpliktelser som ikke tilhører en lineær gren, med andre ord forpliktelsene som kom fra forskjellige grener.


Sammenlign utgangen ovenfor med kommandoutgangen ‘git log –graph’ som tydelig viser hvordan “linear-break” forplikter er slått sammen.

Bonus: Oppsummer git-loggutdata: ‘git shortlog’

Den ‘git shortlog‘Kommando kategoriserer forpliktelsesloggene forfattervis og skriver ut en oversiktssammendrag som indikerer forpliktelsene hver forfatter har gjort.
Kommando: git log mangel

Kommando : git log shortlog -s
-s står for –sammendrag, undertrykk kommisjonsbeskrivelse og bare skriv ut antall forpliktelser av hver forfatter, slik:

Videre kan du også formatere utdataene ved å bruke de samme plassholderne som diskutert under ‘- ganske = format‘Alternativ
Prøv kommandoen: git shortlog --format = '% h | % s

Derfor skal du være enig i at denne utgangen er mer fornuftig da den viser id og ID for hver forfatter sammen med det totale antall forpliktelser.

Merk : Det er interessant å merke seg at du veldig enkelt kan finne grenen som gjorde en bestemt forpliktelse. Det er verdt å ta opp denne diskusjonen i kommende artikler i dybden.

Så med det kommer vi til en slutt på detteGit log format format historieblogg, jeg håper du syntes det var informativt.

I dette innlegget lærte vi noen formateringsteknikker som skriver ut prosjektinformasjonen på en mer tilpasset og brukervennlig måte. Du bør nå vite hvordan du effektivt kan bruke parametrene til 'git log' -kommandoen for å hente ut all informasjon du trenger om kildekoden fra din engasjerte historie. Så med det kommer vi til en slutt på denne artikkelen, jeg håper du syntes den var informativ.

Hvis du er nysgjerrig på å lære mer, kan du sjekke ut dette av Edureka, et pålitelig online læringsfirma med et nettverk av mer enn 250 000 fornøyde elever spredt over hele verden. Edureka DevOps Certification Training-kurset hjelper elever til å forstå hva som er DevOps og få ekspertise i forskjellige DevOps-prosesser og verktøy som Puppet, Jenkins, Nagios, Ansible, Chef, Saltstack og GIT for å automatisere flere trinn i SDLC.

Har du et spørsmål til oss? Vennligst nevn det i kommentarfeltet i denne artikkelen om 'Git log formatformat', så kommer vi tilbake til deg.