Kako uporabiti Git Log za formatiranje zgodovine predaj?



Git je orodje, ki pomaga organizirati in upravljati izvorno kodo vaših aplikacij. Izvedite vse o ukazu zgodovine zapisa zapisa git in kako ga uporabljati.

V tem članku bomo razpravljali o nekaterih naprednih možnostih za formatiranje in tiskanje dnevnikov odobritev, da iz zgodovine dnevnika projekta pridobimo informacije, ki jih potrebujete. Ker že vemo, vodi dnevnik sprememb, vezanih na zgodovino projekta, zdaj bomo raziskali več načinov, kako je ukaz 'git log' koristen.

Najprej preklapljam / preverjam vejo “feature1” za priročno in krajšo zgodovino.
Uporabite ukaze -





$cd myProj–Preklopite na projekt git

$funkcija git checkout1–Skok na vejo ‘feature1’



1. Oblikovanje odobritve

1.1 Natisnite izhodne vsebine v določeni obliki

Sintaksa: git log --pretty [=]

kje, je lahko eden od eno vrstico, kratek, srednje, poln, polnejši, E-naslov, surov, in format:
Kdaj = del je izpuščen, privzeto je srednje.

1.1.1 –pretty = ena vrstica

Precej natisni dnevnik predaj v 'eno vrstico'
Ukaz: git log --pretty = ena vrstica
Izhod formatira v zaporedju:




Obvezi - Zgodovina zapisa zapisa dnevnika Git - Edureka

1.1.2 –pretty = kratek

Izhod obveze formata 'kratek' v obliki:
zaveži (preimenuj)
Avtor:



1.1.3 - lepo = srednje

Ukaz: git log --pretty = medium
Natisni izpis objave v 'srednji' obliki:
zavezati
Avtor :
Datum:


1.1.4 - lepo = polno

Ukaz: git log --pretty = poln
Izhod je v obliki:
zaveži (preimenuj)
Avtor:
Zaveži:


1.1.5 - lepo = bolj polno

Ukaz: git log --pretty = polnejši
zaveži (preimenuj)
Avtor:
Datum avtorja :
Zaveži:
Datum objave:


1.1.6 –pretty = e-pošta

Ukaz: git log --pretty = e-pošta
Natisnite izpise dnevnika v obliki sloga e-pošte:
Od
Od:
Datum:
Zadeva: [PATCH]


1.1.7 - lepo = surovo

Ukaz: git log --pretty = raw
Neobdelani izhodni zapis dnevnika prikazuje celotno objavo natančno tako, kot je shranjena v objektu predaje.
zavezati
drevo
starš
avtor
zavezati

1.1.8 –format:: Oblikovanje po meri

Oblika vam omogoča, da določite, katere podatke predmeta predaja želite natisniti v izhodni dnevnik predavanja
Upoštevajmo različne ogradne znake, ki jih ta možnost ponuja podobno kot funkcija 'C printf' s pomočjo odrezkov kode:

Ukaz: git log --pretty = format: '% h% ad | % s% d [% an] '--date = kratek
Izhodna oblika:
| [ime avtorja]

% h = Skrajšani ID-ji hash-id / sha1commit
% H = dolgi ID-ji sha-1
% do = datum avtorja
% s = zaveži naslovno vrstico predmeta
% d = imena referenčnega kazalca (veje, oznake)
% an = ime avtorja
–Datum = kratko: natisnite samo datum in ne čas v berljivi obliki

Zdaj pa, kako narediti ta izhod bolj prijazen do ljudi z uporabo barv.
Ukaz:
git log --pretty = format: '% C (rumeno)% h% Creset% ad | % Cgreen% s% Creset% Cred% d% Creset% Cblue [% an] '--date = kratek


Nekatera druga ograda, uporabljena v zgornjem delčku kode, so:
% C (rumeno) : Naslednji niz obrnite v rumeno
% Krezet : Ponastavite naslednji niz nazaj na privzeto (belo) barvo
% Zelene : spremenite naslednji niz v zeleno
%Ugibam: Spremenite naslednji niz v rdeč
% Modre: Ime avtorja naj bo modre barve

Ni vam treba vsakič zapomniti in napisati celotnega ukaza, samo uporabite kratko ime kot git vzdevek kot je prikazano spodaj:
Ukaz:
git config --global alias.c-hist 'log --pretty = format:'% C (rumeno)% h% Creset% ad | % Cgreen% s% Creset% Cred% d% Creset% Cblue [% an] '--date = short'

'C-hist' predstavlja c prilagojen- zgodovina ory
Kot ste opazili, postavljam svojo globalno git konfiguracija datoteka z vrednostmi.

if v poizvedbi sql

Zdaj, če želite preveriti zgodovino trenutne veje, morate le zagnati ukaz, takole:
Ukaz: pojdi c-hist

1.2 –abbrev-commit: Skrajšaj git commit hash-id

Ukaz: git log --abbrev-commit
Polno 40-bajtno šestnajstiško ime predmeta predaje je skrajšano na privzetih 7-bajtov.


Naj se udružimo z--oneline'Možnost za priročen pogled, na primer tako:
Ukaz: git log --abbrev-commit --oneline

Še bolj razburljivo je, da lahko določite tudi dolžino bajta id-sha-1 z uporabo možnosti – –abbrev =, kot je prikazano spodaj:
Ukaz: git log --abbrev-commit --abbrev = 5 --oneline



Jasno je, da so označeni ID-ji sha-1 zmanjšani na 5-bajtno velikost.

1.3 - brez okrajšave

Pokažite celotno 40-bajtno šestnajstiško ime predmeta predaje.
To zanika –Abbrev-commit in tiste možnosti, ki pomenijo
kot '–oneline'.
Ukaz: git log --pretty = ena vrstica --no-shorv-commit



1.4 –razmerni datum

Ukaz: git log - relativni datum

Prosimo, upoštevajte, da se ta označeni čas lahko spremeni glede na čas, ko v sistemu izvajate ukaz.

1,5 –datum =

Datum dnevnikov zapisov lahko formatirate tudi v kateri koli od naslednjih možnosti formatiranja:

1.5.1 –datum = relativno

Ukaz :git log --date = relativno
To je sinonim za zgornji ukaz “git log - relativni datum'In natisne iste zaveze.

1.5.2 –dat = lokalni

Ukaz : git log --date = lokalno

1.5.3 –dat = izo

Ukaz: git log --date = iso

1.5.4 –datum = izostrogo

Ukaz: git log --date = izostrog

1.5.5 –datum = rfc

Ukaz: git log --date = rfc

1.5.6 –datum = kratek

Ukaz: git log --date = kratek

1.5.7 –dat = neobdelano (prikaže datum v sekundah)

Ukaz: git log --date = surov
Natisnite čas v sekundah od unix epoc čas (1. januar 1970), ki mu sledi časovni pas.

1.5.8 - datum = človek

Ukaz: git log --date = človek

1.5.9 - datum = unix

Datum prikaže kot unix epoc (UTC) čas.
Ukaz: git log --date = unix

1.6 - starši

Natisnite tudi starše vsake zaveze v obliki:
Ukaz: git log --parents
Izhodni ukaz Oneliner: git log --parents --oneline

Točke, ki jih je treba upoštevati:
C366419 je združitev, zato ima 2 starša: honorar30c in 4920adc
Prav tako

1d67b50 je obveznost združitve, ki je nastala zaradi združitve f2ff2e4 in abb694b
078f9f5 je obveznost združitve, ustvarjena z združevanjem 9a2412e in ab3a5e5
Ker 86792c6 je začetna obveznost, torej noben od staršev.

1,7 - otroci

Otroke natisnite tudi v obrazec
Ukaz: git log --children --oneline

Opomba :
006b9ce je najnovejša odobritev, zato še ni predmetov za zavezovanje otrok. Naslednja sprememba, ki jo naredite in sprejmete v tej veji, bo objekt podrejene podrejenosti tega najnovejšega id-sha-1.

1,8 –graf

Pred identifikacijskimi kodami sha-1 narišite grafično predstavitev zgodovine odobritev na osnovi besedila.
Ukaz: git log --graph
Izboljšan izhod oneliner: git log --graph --oneline


Tako lahko razumete, kdaj, kako in zakaj ter druge veje so bile združene v trenutno odjavljeno vejo.

1.9 –show-linear-break

Ukaz: git log --show-linear-break
To je koristen ukaz za označevanje ovire med dvema zaporednima predajama, ki ne spadata v linearno vejo, z drugimi besedami, predpisi, ki prihajajo iz različnih vej.


Zgornji izhod primerjajte z izhodom ukaza ‘git log –graph’, ki nazorno prikazuje, kako so bili združeni predaji »linear-break«.

Bonus: Povzemite izhodne podatke git dnevnika: 'git shortlog'

git shortlog‘Ukaz kategorizira avtorja dnevnikov predavanja in natisne povzetek pregleda, v katerem so zapisane zaveze vsakega avtorja.
Ukaz: ožji dnevnik git log

Ukaz : git log kratice -s
-s je kratica –summary, potisni opis urejanja in samo natisni število zavez vsakega avtorja, takole:

Poleg tega lahko izhodne podatke tudi formatirate z uporabo istih ograd, kot je opisano pod--pretty = format'Možnost
Poskusite z ukazom: git kratki dnevnik --format = '% h | % s '

Zato se strinjate, da je ta rezultat bolj smiseln, saj prikazuje identiteto in identiteto za vsakega avtorja skupaj s skupnim številom zavez.

Opomba : Zanimivo je, da lahko zelo enostavno najdete podružnico, ki se je posebej zavezala. To razpravo je vredno poglobiti v prihodnjih člankih.

S tem smo prišli do konca tegaZgodovina zapisa zapisa dnevnika Gitblog, upam, da se vam je zdel informativen.

V tem prispevku smo se naučili nekaterih tehnik oblikovanja, ki informacije o projektu natisnejo na bolj prilagojen in uporabniku prijazen način. Zdaj bi morali vedeti, kako učinkovito uporabiti parametre ukaza 'git log', da iz svoje predane zgodovine izvlečete vse potrebne informacije o izvorni kodi. Tako smo s tem prišli do konca tega članka, upam, da se vam je zdel informativen.

Če vas zanima več, si oglejte to Edureka, zaupanja vredno podjetje za spletno učenje z mrežo več kot 250.000 zadovoljnih učencev, ki se širijo po vsem svetu. Tečaj Edureka DevOps Certification Training pomaga učencem, da razumejo, kaj je DevOps, in pridobijo strokovno znanje v različnih procesih in orodjih DevOps, kot so Puppet, Jenkins, Nagios, Ansible, Chef, Saltstack in GIT za avtomatizacijo več korakov v SDLC.

Imate vprašanje za nas? Prosimo, omenite ga v oddelku za komentarje tega članka o 'Zgodovini zapisa zapisa dnevnika Git', mi pa se vam bomo oglasili.