Hur använder jag Git Log för att formatera åtagandeshistoriken?



Git är ett verktyg som hjälper till att organisera och hantera källkoden för dina applikationer. Lär dig allt om kommandot för git log format och hur du använder det.

I den här artikeln kommer vi att diskutera några avancerade alternativ för att formatera och skriva ut engagemangsloggarna för att hämta den information du behöver ur projekthistoriken. Eftersom vi redan vet, håller en journal över de förändringar som gjorts i projekthistoriken, vi ska nu utforska fler sätt som ”git log” -kommandot är till hjälp.

För det första byter jag till / checkar ut 'feature1' -grenen för en bekväm och kortare historik.
Använd kommandona -





$cd myProj–Byt till git-projektet

$git checkout-funktion 1–Hoppa till ”feature1” -grenen



1. Begå formatering

1.1 Skriv ut utdatans innehåll i ett visst format

Syntax: git log - ganska [=]

var, kan vara en av en linje, kort, medium, full, fylligare, e-post, och formatera:
När = del utelämnas, är den som standard medium.

1.1.1 –genom = online

Pretty print-logga in i en enda rad
Kommando: git log --pretty = oneline
Formaterar utdata i sekvens:




Commit - Git log format format - Edureka

1.1.2 –genom = kort

Formatera kommunicera utdata ”kort” i formatet:
begå (refname)
Författare:



1.1.3 –genom = medium

Kommando: git log - ganska = medium
Skriv ut utfästningsutdata i 'medium' format:
begå
Författare :
Datum:


1.1.4 –genom = full

Kommando: git log - ganska = full
Output är i formatet:
begå (refname)
Författare:
Begå:


1.1.5 –vackert = fylligare

Kommando: git log --pretty = fullare
begå (refname)
Författare:
AuthorDate :
Begå:
CommitDate:


1.1.6 –vackert = e-post

Kommando: git log --pretty = e-post
Skriv ut loggutdata i e-postformat:
Från
Från:
Datum:
Ämne: [LAPPA]


1.1.7 –genom = rå

Kommando: git log - ganska = rå
Det råa loggutmatningsformatet visar hela engagemanget exakt som lagrat i engagemangsobjektet.
begå
träd
förälder
författare
begå

1.1.8 –format:: Anpassad formatering

Formatet låter dig ange vilken information om det engagemangsobjekt som du vill skriva ut i utdataloggen
Låt oss överväga de olika platshållarna som detta alternativ ger precis som en “C printf” -funktion med hjälp av kodavsnitt:

Kommando: git log --pretty = format: '% h% ad | % s% d [% an] '--datum = kort
Utmatningsformat:
| [författarens namn]

% h = Förkortat hash-id / sha1commit id
% H = långa sha-1-id
%till = författardatum
% s = begå ämnesrubrik
% d = referenspekare (gren, tagg) namn
%ett = författarnamn
-datum = kort: Skriv ut bara datum och inte tid i ett läsbart format

Vad sägs om att göra den här produktionen mer mänsklig med färger.
Kommando:
git log --pretty = format: '% C (gul)% h% Creset% ad | % Cgreen% s% Creset% Cred% d% Creset% Cblue [% an] '--datum = kort


Några andra platshållare som används i ovanstående kodavsnitt är:
% C (gul) : Vrid följande sträng till gul
% Creset : Återställ följande sträng till standardfärg (vit)
% Cgreen : ändra följande sträng till grön
%Jag antar: Ändra följande sträng till röd
% Cblue: Gör författarens namn blått i färg

Du behöver inte komma ihåg och skriva hela kommandot varje gång, använd bara ett kort namn som git alias enligt nedanstående:
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” representerar c anpassad- hist ory
Så som du skulle ha konstaterat sätter jag mitt globala git-konfiguration fil med värdena.

hur man gör databasprovning

För att kontrollera historiken för den aktuella grenen är allt du behöver göra att köra kommandot, så här:
Kommando: gå c-hist

1.2 –abbrev-commit: Förkorta git commit hash-id

Kommando: git log --abbrev-commit
Hela 40-byte-hexadecimala engagemangsobjektet förkortas till standard 7-byte.


Låt oss klubba det med--en linjeAlternativ för en bekväm vy, så som:
Kommando: git log --abbrev-commit --oneline

Vad som är mer spännande är att du också kan ange byte-längden på sha-1-id med alternativet ‘–abbrev =’, som visas nedan:
Kommando: git log --abbrev-commit --abbrev = 5 --online



Det är uppenbart att de markerade sha-1-id-erna reduceras till 5-byte-storlek.

1.3 – ingen förkortning

Visa hela 40-byte-hexadecimala engagemangsnamnet.
Detta förnekar –Abbrev-begå och de alternativ som innebär
det som “–online”.
Kommando: git log --pretty = oneline - no-abbrev-commit



1.4 –relativt datum

Kommando: git log --relative-date

Observera att denna markerade tid kan ändras med hänvisning till den tid du kör kommandot på ditt system.

1.5 –datum =

Du kan också formatera datum för åtagandeloggar i något av följande formatalternativ:

1.5.1 –datum = relativ

Kommando :git log --date = relativ
Detta är synonymt med ovanstående kommando “git log --relative-date”Och skriver ut samma åtaganden.

1.5.2 –datum = lokal

Kommando : git log --date = lokal

1.5.3 –datum = iso

Kommando: git log --date = iso

1.5.4 –datum = isostrikt

Kommando: git log --date = iso-strikt

1.5.5 –datum = rfc

Kommando: git log --date = rfc

1.5.6 –datum = kort

Kommando: git log --date = kort

1.5.7 –datum = rå (visar datumet i sekunder)

Kommando: git log --date = raw
Skriv ut tiden som sekunder sedan unix epoc tid (01 jan 1970) följt av tidszonen.

1.5.8 –datum = människa

Kommando: git log --date = human

1.5.9 –datum = unix

Visar datumet som unix epoc (UTC) tid.
Kommando: git log --date = unix

1,6 –föräldrar

Skriv också ut föräldrarna till varje förpliktelse i formatet:
Kommando: git log - föräldrar
Oneliner utgående kommando: git log --föräldrar - online

Poäng att notera:
C366419 är en sammanslagningsförpliktelse, har därför två föräldrar respektive: feeb30c och 4920adc
likaså

1d67b50 är en sammanslagningsförpliktelse som är resultatet av sammanslagning f2ff2e4 och abb694b
078f9f5 är en sammanslagningsförpliktelse skapad genom sammanslagning 9a2412e och ab3a5e5
Med beaktande av att 86792c6 är det första åtagandet, följaktligen ingen förälder.

1,7 - barn

Skriv också ut barnen i formuläret
Kommando: git log - barn - online

Notera :
006b9ce är det senaste engagemanget, därför har inga barn begått objekt ännu. Nästa ändring du gör och gör på den här grenen kommer att vara underkastningsobjektet för detta senaste sha-1-id.

1,8 –graf

Rita en textbaserad grafisk representation av åtagandeshistoriken före sha-1-id: n.
Kommando: git log - graf
Förbättrad oneliner-utgång: git log --graph --oneline


Detta låter dig förstå när, hur och varför och andra filialer slogs samman till den för närvarande utcheckade filialen.

1,9 –show-linjär-break

Kommando: git log --show-linear-break
Detta är ett användbart kommando för att indikera en barriär mellan två på varandra följande åtaganden som inte tillhör en linjär gren, med andra ord de åtaganden som kommer från olika grenar.


Jämför utgången ovan med kommandoutgången ”git log –graph” som tydligt visar hur ”linjär brytning” åtaganden har sammanfogats.

Bonus: Sammanfatta git-loggutdata: ‘git shortlog’

git shortlogKommandot kategoriserar uppdragsloggarna författare och skriver ut en översiktssammanfattning som anger de åtaganden som gjorts av varje författare.
Kommando: git log-underskott

Kommando : git log shortlog -s
-s står för –summary, undertryck beskrivningen av kommit och skriv bara ut antalet åtaganden av varje författare, så här:

Dessutom kan du också formatera utdata med samma platshållare som diskuteras under ”--pretty = format”Alternativ
Prova kommandot: git shortlog --format = '% h | % s

Därför måste du komma överens om att denna utgång är mer meningsfull eftersom den visar id och id för varje författare tillsammans med det totala antalet åtaganden.

Notera : Det är intressant att notera att du mycket enkelt kan hitta den gren som gjorde ett särskilt åtagande. Det är värt att ta djupet upp denna diskussion i kommande artiklar.

Så med det kommer vi till ett slut på dettaGit log-formathistorikblogg, jag hoppas att du tyckte det var informativt.

I det här inlägget lärde vi oss några formateringstekniker som skriver ut projektinformationen på ett mer anpassat och användarvänligt sätt. Du borde nu veta hur du effektivt använder parametrarna i kommandot 'git log' för att ta fram all information du behöver om källkoden från din engagerade historia. Så med det kommer vi till slutet av den här artikeln, jag hoppas att du tyckte att den var informativ.

Om du är nyfiken på att lära dig mer kan du kolla in det här av Edureka, ett pålitligt inlärningsföretag online med ett nätverk av mer än 250 000 nöjda elever spridda över hela världen. Edureka DevOps Certification Training-kursen hjälper eleverna att förstå vad som är DevOps och få expertis inom olika DevOps-processer och verktyg som Puppet, Jenkins, Nagios, Ansible, Chef, Saltstack och GIT för att automatisera flera steg i SDLC.

Har du en fråga till oss? Vänligen nämna det i kommentarsektionen i den här artikeln om 'Git log formathistorik' så återkommer vi till dig.