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, rå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:
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 linje
Alternativ 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ärdet 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 shortlog
Kommandot 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.