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, rå, 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:
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ærerdet 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.