V tomto článku sa budeme zaoberať niektorými pokročilými možnosťami formátovania a tlače protokolov potvrdenia na získanie potrebných informácií z histórie denníka projektu. Pretože už vieme, vedie Denník zmien vykonaných v histórii projektu, teraz preskúmame ďalšie spôsoby, ako je užitočný príkaz „git log“.
Najskôr prepínam / odhlasujem vetvu „feature1“ kvôli pohodlnej a kratšej histórii.
Použite príkazy -
$cd myProj
–Prepnite na projekt git
$funkcia git checkout1
–Prejdite na vetvu ‘feature1’
1. Potvrďte formátovanie
1.1 Pekne vytlačiť výstupný obsah v danom formáte
Syntax: git log --pretty [=]
kde, môže byť jedným z jedna čiara, krátky, stredná, plný, plnšie, e-mail, surovýa formát:
Kedy = časť je vynechaná, predvolená hodnota je stredná.
1.1.1 - pekné = jeden riadok
Protokol potvrdenia peknej tlače v „jednom riadku“
Príkaz: git log --pretty = jeden riadok
Naformátuje výstup postupne:
1.1.2 - pekné = krátke
Výstup potvrdenia formátu „krátky“ vo formáte:
potvrdiť (refname)
Autor:
1.1.3 - pekný = stredný
Príkaz: git log --pretty = medium
Výstup potvrdenia tlače vo „strednom“ formáte:
spáchať
Autor :
Dátum:
1.1.4 - pekný = plný
Príkaz: git log --pretty = plný
Výstup je vo formáte:
potvrdiť (refname)
Autor:
Odovzdať:
1.1.5 - pekný = plnší
Príkaz: git log --pretty = plnší
potvrdiť (refname)
Autor:
AuthorDate :
Odovzdať:
CommitDate:
1.1.6 –pretty = e-mail
Príkaz: git log --pretty = e-mail
Tlačiť výstup protokolu vo formáte e-mailu:
Od
Od:
Dátum:
Predmet: [PATCH]
1.1.7 - pekný = surový
Príkaz: git log --pretty = raw
Surový výstupný formát denníka zobrazuje celé potvrdenie presne tak, ako je uložené v objekte potvrdenia.
spáchať
strom
rodič
autor
spáchať
1.1.8 –formát:: Vlastné formátovanie
Formát vám umožňuje určiť, ktoré informácie o objekte odovzdania chcete vytlačiť vo výstupnom denníku potvrdenia
Uvažujme o rôznych zástupných znakoch, ktoré táto možnosť poskytuje rovnako ako funkcia „C printf“ pomocou útržkov kódu:
Príkaz: git log --pretty = formát: '% h% reklama | % s% d [% an] '--dátum = krátke
Výstupný formát:
| [meno autora]
% h = Skrátené ID hash-id / sha1commit
% H = dlhé identifikátory sha-1
% až = dátum autorstva
% s = potvrdiť predmetový riadok
% d = referenčné názvy ukazovateľov (vetvy, značky)
% an = meno autora
-dátum = short: Vytlačí iba dátum a nie čas v čitateľnom formáte
A čo tak urobiť tento výstup príjemnejším pre človeka pomocou farieb.
Príkaz:
git log --pretty = formát: '% C (žltý)% h% Creset% reklama | % Cgreen% s% Creset% Cred% d% Creset% Cblue [% an] '--date = krátke
Niektoré ďalšie zástupné symboly použité vo vyššie uvedenom útržku kódu sú:
% C (žltá) : Nasledujúci reťazec otočte na žlto
% Creset : Obnovte nasledujúci reťazec na predvolenú (bielu) farbu
% Zelených : zmeniť nasledujúci reťazec na zelenú
%Hádam: Zmeňte nasledujúci reťazec na červenú
% Cblue: Vytvorte meno autora modrou farbou
Nemusíte si pamätať a zakaždým napísať celý príkaz, stačí použiť krátke meno ako git alias ako je ukázané nižšie:
Príkaz:
git config --global alias.c-hist 'log --pretty = formát:'% C (žltý)% h% Creset% ad | % Cgreen% s% Creset% Cred% d% Creset% Cblue [% an] '--date = short'
„C-hist“ predstavuje c ustomized- hist ory
Takže, ako by ste videli, nastavujem svoj globálny rozmer konfigurácia git súbor s hodnotami.
podreťazec v príkladoch servera sql
Teraz, aby ste skontrolovali históriu aktuálnej vetvy, stačí spustiť príkaz, napríklad takto:
Príkaz: choď c-hist
1.2 –abbrev-commit: Skráťte git commit hash-id
Príkaz: git log --abbrev-commit
Celý 40-bajtový hexadecimálny názov objektu potvrdenia sa skráti na predvolených 7-bajtov.
Spojme to s ‘--jedna čiara
„Možnosť pohodlného zobrazenia, napríklad:
Príkaz: git log --abbrev-commit --oneline
Oveľa vzrušujúcejšie je, že dĺžku bajtov identifikátorov sha-1 môžete určiť aj pomocou možnosti „–abbrev =“, ako je uvedené nižšie:
Príkaz: git log --abbrev-commit --abbrev = 5 - online
Je zrejmé, že zvýraznené identifikátory sha-1 sú zmenšené na veľkosť 5 bajtov.
1.3 –ne-abbrev-commit
Zobraziť úplný 40-bajtový hexadecimálny názov objektu potvrdenia.
To neguje –Breverzovať a možnosti, ktoré z nich vyplývajúnapríklad „–oneline“.
Príkaz: git log --pretty = jeden riadok --no-abbrev-commit
1,4 - relatívny dátum
Príkaz: git log - relatívny dátum
Upozorňujeme, že tento zvýraznený čas sa môže meniť s ohľadom na čas, kedy vo svojom systéme vykonáte príkaz.
1,5 –dátum =
Dátum protokolov potvrdenia môžete tiež naformátovať v ktorejkoľvek z nasledujúcich možností formátu:
1.5.1 - dátum = relatívny
Velenie :git log --date = relatívny
Toto je synonymum vyššie uvedeného príkazu „git log - relatívny dátum
”A vytlačí rovnaké potvrdenia.
1.5.2 - dátum = miestne
Velenie : git log --date = local
1.5.3 - dátum = izo
Príkaz: git log --date = iso
1.5.4 –date = iso-strict
Príkaz: git log --date = iso-strict
1.5.5 - dátum = rfc
Príkaz: git log --date = rfc
1.5.6 –dátum = krátke
Príkaz: git log --date = krátke
1.5.7 –date = raw (zobrazuje dátum v sekundách)
Príkaz: git log --date = raw
Vytlačte čas ako sekundy od unix epoc času (1. januára 1970), za ktorým nasleduje časové pásmo.
1.5.8 - dátum = človek
Príkaz: git log --date = človek
1.5.9 - dátum = unix
Zobrazí dátum ako unix epoc (UTC) čas.
Príkaz: git log --date = unix
1,6 - rodičia
Vytlačte tiež rodičov každého potvrdenia vo formáte:
Príkaz: git log - rodičia
Príkaz výstupu Oneliner: git log --parents --online
Je potrebné poznamenať:
C366419 je zlúčením, má teda 2 rodičov: feeb30c a 4920adc
Rovnako tak
1d67b50 je zlúčenie, ktoré bolo výsledkom zlúčenia f2ff2e4 a abb694b
078f9f5 je zlučovacia väzba vytvorená zlúčením 9a2412e a ab3a5e5
Keďže 86792c6 je počiatočné potvrdenie, teda žiadny rodič.
1,7 –deti
Vytlačte do formulára aj deti
Príkaz: git log - deti - online
Poznámka :
006b9ce je posledný príkaz na potvrdenie, a preto zatiaľ nemá žiadny objekt zadania pre deti. Ďalšia zmena, ktorú v tejto vetve vykonáte a zaviažete, bude podradený objekt potvrdenia tohto najnovšieho ID sha-1.
1,8 –graf
Nakreslite textové grafické znázornenie histórie potvrdenia pred identifikátormi sha-1.
Príkaz: git log --graf
Vylepšený výstup jednej linky: git log --graf --oneline
To vám umožní pochopiť, kedy, ako a prečo a ďalšie pobočky boli zlúčené do momentálne odhlásenej pobočky.
1,9 - ukážka-lineárny zlom
Príkaz: git log --show-linear-break
Toto je užitočný príkaz na označenie bariéry medzi 2 po sebe nasledujúcimi potvrdeniami, ktoré nepatria do lineárnej vetvy, inými slovami potvrdenia, ktoré pochádzajú z rôznych vetiev.
Porovnajte vyššie uvedený výstup s výstupom príkazu „git log –graph“, ktorý jasne ukazuje, ako boli zlúčené potvrdenia „linear-break“.
Bonus: Zhrňte výstup protokolu git: „git shortlog“
„git shortlog
„Príkaz kategorizuje autora protokolov o potvrdení a vytlačí prehľadné zhrnutie s uvedením záväzkov vykonaných každým autorom.
Príkaz: git log shortlog
Velenie : git log shortlog -s
-s je skratka –summary, potlačiť popis potvrdenia a iba vytlačiť počet potvrdení od každého autora, napríklad takto:
Ďalej by ste mohli výstup naformátovať aj pomocou rovnakých zástupných znakov, aké sú uvedené v časti „--pretty = formát
„Možnosť
Vyskúšajte príkaz: git shortlog --format = '% h | % s
Preto budete súhlasiť, že tento výstup má väčší zmysel, pretože zobrazuje ID a pre každého autora spolu s celkovým počtom záväzkov.
Poznámka : Je zaujímavé, že pobočku, ktorá vykonala určitý záväzok, nájdete veľmi ľahko. Je vhodné sa tejto diskusii venovať v nasledujúcich článkoch do hĺbky.
S týmto teda skončímeHistória formátu protokolu Gitblog, dúfam, že vás informačný.
V tomto príspevku sme sa naučili niektoré techniky formátovania, ktoré tlačia informácie o projekte prispôsobenejším a užívateľsky príjemnejším spôsobom. Teraz by ste mali vedieť, ako efektívne využiť parametre príkazu „git log“ na získanie všetkých potrebných informácií o zdrojovom kóde z vašej potvrdenej histórie. Týmto teda prichádzame na koniec tohto článku, dúfam, že ste ho našli poučný.
Ak sa chcete dozvedieť viac, môžete si to pozrieť autor: Edureka, dôveryhodná online vzdelávacia spoločnosť so sieťou viac ako 250 000 spokojných študentov rozmiestnených po celom svete. Kurz certifikácie EdOkaka DevOps Certification Training pomáha študentom pochopiť, čo je DevOps, a získať odborné znalosti v rôznych procesoch a nástrojoch DevOps, ako sú Puppet, Jenkins, Nagios, Ansible, Chef, Saltstack a GIT na automatizáciu viacerých krokov v SDLC.
Máte na nás otázku? Uveďte to v časti komentárov tohto článku v časti „História formátu protokolu Git“ a my sa vám ozveme.