Ako skontrolovať históriu projektu pomocou protokolu Git

Ako skontrolovať históriu projektu pomocou protokolu Git

Jednou z najzákladnejších služieb poskytovaných spoločnosťou Git je história projektu. Pretože Git sleduje všetky zmeny v súboroch vykonaných v úložisku, môže ponúknuť veľmi výkonné funkcie protokolovania. Na históriu projektu sa môžete pýtať mnohými rôznymi spôsobmi a pomocou jedného flexibilného príkazu môžete extrahovať a zobrazovať rôzne údaje.





The git log príkaz je obrovský, najväčší zo všetkých bežných príkazov Git. Jeho manuál je dlhý viac ako 2 500 riadkov. Našťastie git log poskytuje väčšinu svojho najužitočnejšieho správania z niekoľkých kľúčových možností.





Základné protokolovanie s predvoleným správaním

Predvolene, git log ukazuje reverzne-chronologický zoznam potvrdení. Každé potvrdenie obsahuje správu hash, autora, dátum a potvrdenie:





Príkaz používa pager (napr. Menej, viac) na zobrazenie celého výstupu, takže sa vo výsledkoch môžete ľahko pohybovať. Git môžete nakonfigurovať tak, aby používal program podľa vášho výberu, napríklad najpager.

Tu je nejaký výstup z protokolu git úložisko zdrojového kódu git sám:



commit 670b81a890388c60b7032a4f5b879f2ece8c4558 (HEAD -> master, origin/next,
origin/master, origin/HEAD)
Author: Junio C Hamano
Date: Mon Jun 14 13:23:28 2021 +0900
The second batch
Signed-off-by: Junio C Hamano

Výsledok začína hašovaním potvrdenia ( 670 ...), za ktorým nasleduje zoznam pobočiek, ktoré v súčasnosti smerujú k tomuto potvrdeniu ( HLAVA -> majster , atď.)

tmavý režim prieskumníka súborov systému Windows 10

Nasledujúci riadok popisuje autora tohto potvrdenia a uvedie jeho meno a e -mailovú adresu.





V nasledujúcom riadku nasleduje úplný dátum a čas spáchania.

Nakoniec sa zobrazí celý obsah správy o potvrdení. Väčšinu zo všetkého ostatného, ​​čo git log ponúka, môžete ovládať pomocou možností príkazového riadka. Existujú dva hlavné typy možností:





  • Formátovanie, ktoré definuje, ako Git zobrazuje jednotlivé potvrdenia.
  • Filtrovanie, ktoré definuje, ktoré potvrdzuje git log zahŕňa.

Okrem volieb príkazového riadka git log akceptuje aj argumenty, ktoré určujú súbory, potvrdenia, vetvy alebo iné typy odkazov. Tieto aplikujú ďalšie filtrovanie.

Formátovanie výstupu protokolu Git

Jednou z najjednoduchších úprav je --jedna čiara možnosť, ktorá produkuje veľmi krátky výstup:

git log --oneline

Každý riadok v protokole teraz obsahuje iba skrátený hash potvrdenia a predmet správy o potvrdení. Je to vynikajúci spôsob, ako získať prehľad o nedávnych záväzkoch týkajúcich sa projektu:

Bohužiaľ, bez iného kontextu, tieto informácie nie sú vždy také užitočné. Mohlo by vám to poskytnúť nejasný pocit z projektu, ale chýbajú v ňom dátumy a ďalšie užitočné informácie o autoroch a súboroch.

Zobrazenie grafu pobočky

The --graf Táto možnosť vám umožňuje zobraziť vzťahy medzi pobočkami. Je to veľmi základné, ale môže to pomôcť rozmotať komplikovanú históriu.

git log --oneline --graph

Súvisiace: Ako vytvoriť novú pobočku v Git

Prispôsobený pekný výstup

Zložitejšie formátovanie dosiahnete jeho podrobným zadaním pomocou -milý možnosť. Syntax ide od veľmi jednoduchého po oveľa komplexnejší, takže úplné informácie nájdete v príručke .

spustenie počítača Windows 10 trvá večnosť
git log --pretty=short

Je v podstate rovnaký ako git log bez dátumu alebo celej správy:

git log --pretty=oneline

Je ekvivalentné s git log -online .

git log --pretty=fuller

Obsahuje veľa detailov. Dokonca oddeľuje autora a páchateľa, ktorými môžu byť teoreticky rôzni ľudia:

S formát: vo variante môžete zadať reťazec obsahujúci akýkoľvek požadovaný obsah vrátane zástupných symbolov, ktoré sú nahradené rôznymi údajmi. Tu je niekoľko príkladov zástupných symbolov:

  • %H spáchať hash
  • %h skrátený príkaz hash
  • %do dátum autora
  • %S dátum autora, príbuzný
  • %s zaviazať predmet správy
  • % b zaviazať telo správy
  • %p skrátené rodičovské hash

Do výstupu môžete pridať fixné znaky a zafarbiť ho. Tento príklad tiež ukazuje variáciu formátu dátumu:

git log --pretty=format:'%C(auto) %h [%ad] %s' --date=short

Dátum je uvedený v zátvorkách. Bez ohľadu na zvolené formátovanie, ak chcete, aby bol výstup užitočný v potrubí alebo v iných formách spracovania textu, mali by ste zvážiť, ako vymedziť každú časť výstupu.

Zobrazovanie rozdielov v denníku

Dôležitým detailom pri pohľade na históriu úložiska sú samotné rozdiely. Koniec koncov, predstavujú to, čo sa v kóde skutočne zmenilo! Na začiatok môžete získať súhrn zmien spolu s každým použitím potvrdenia -skratka :

git log --shortstat

Tým sa pridá riadok ako:

1 file changed, 48 insertions(+), 2 deletions(-)

Do spodnej časti každého potvrdenia. Tento druh zhrnutia sa často zobrazuje - napríklad na stránkach na GitHub - a je to užitočný spôsob rýchleho posúdenia rozsahu konkrétneho potvrdenia. Ak chcete získať podrobnejšie informácie, môžete zahrnúť úplný výstup opravy (rozdiely) pomocou súboru -p vlajka:

git log -p

Filtrovanie výstupu protokolu Git

Bez ohľadu na formátovanie, ktoré použijete, stále uvidíte kompletný denník všetkých potvrdení v aktuálnej pobočke. Aj keď ich Git rozdeľuje na stránky, stále to môže byť veľa výstupu. Nasledujúce možnosti vám umožňujú prispôsobiť, ktoré potvrdenia protokol obsahuje.

Obmedzenie sumou

Ak chcete iba orezať výsledky tak, aby zobrazovali niekoľko posledných potvrdení, použite príponu -[číslo] syntax:

git log -2

Obmedzenie podľa dátumu

Ak chcete obmedziť množinu potvrdení na dané obdobie, použite -pretože ( -potom ) a --dokiaľ ( -predtým ) možnosti. Každý z nich má dátum vo formáte ISO 8601. Môžete použiť buď -pretože alebo --dokiaľ samostatne alebo oboje spoločne, aby sa určil rozsah. Možnosti -potom a -predtým sú synonymá.

git log --since='2021-01-01' --until='2021-05-01'

Obmedzenie súborom

Protokol Git sa môže zamerať na konkrétny súbor, nie na každý súbor vo vašom úložisku. Je to skvelé, pretože vám pomôže zistiť, ako sa konkrétny súbor v priebehu času zmenil. Jednoducho pripojte názov súboru na koniec príkazu git:

git log filename

Uvidíte iba tie záväzky, ktorých sa to týka názov súboru .

Rozdiely medzi pobočkami

Pri prezeraní denníka pobočky môžete mať niekoľko jedinečných požiadaviek. Namiesto zobrazenia celej histórie by ste napríklad chceli vidieť, čo sa v danej konkrétnej vetve zmenilo. Protokol Git môže pomôcť prostredníctvom odkaz1..ref2 syntax. Môžete použiť tri mierne odlišné prístupy:

  1. Zobraziť potvrdenia, ktoré sú v hlavnom, ale nie vo vetve: | _+_ |
  2. Zobraziť potvrdenia, ktoré sú vo vetve, ale nie sú hlavné: | _+_ |
  3. Zobraziť záväzky, ktoré existujú iba vo vetve alebo v hlavnom meste: | _+_ |

Rozdiely medzi dvoma značkami

Rovnako ako si môžete prezerať históriu medzi pobočkami pomocou odkaz1..ref2 syntaxe, môžete rovnakým spôsobom zobraziť aj históriu medzi značkami. Koniec koncov, tagy aj vetvy sú typom referencie.

git log --oneline origin/branch..origin/main

Ak pripravujete poznámky k vydaniu pre väčší projekt, git shortlog by mal byť vašim prvým prístavom hovoru. Vytvorí zoznam autorov, ktorých spisy sú doplnené predmetmi. Môžete mu odovzdať referenčný rozsah na obmedzenie histórie podobným spôsobom ako v git log:

git log --oneline origin/ main ..origin/ branch

The git show príkaz je ešte univerzálnejší ako git log . Môže pracovať so značkami a inými typmi objektov git mimo histórie potvrdenia. Zdieľa mnoho možností s git log , ale budete to skutočne potrebovať iba vtedy, ak sa musíte ponoriť do podrobností nižšej úrovne.

Prezrite si minulosť pomocou protokolu Git

Protokol Git je komplikovaný príkaz, ale z jeho najzákladnejších možností môžete veľa využiť. Prehliadanie histórie úložiska je vynikajúcim spôsobom, ako porozumieť tomu, ako často dochádza k zmenám a koľko ľudí ich robí. Akonáhle dobre porozumiete histórii projektu, budete mať skvelú pozíciu prispieť k nemu sami.

ako odstrániť svoj účet soundcloud
zdieľam zdieľam Tweet E -mail Pripojte sa k trendu sociálneho kódovania a prispejte do úložísk GitHub

Chcete si precvičiť kódovacie svaly a pomôcť projektom s otvoreným zdrojovým kódom? Tu je návod, ako prispieť na GitHub.

Čítajte ďalej
Súvisiace témy
  • Programovanie
  • GitHub
  • Tipy na kódovanie
O autorovi Bobby Jack(58 publikovaných článkov)

Bobby je technologický nadšenec, ktorý pracoval ako vývojár softvéru väčšinu dvoch desaťročí. Má nadšenie pre hry, pracuje ako editor recenzií v časopise Switch Player a je ponorený do všetkých aspektov online publikovania a webového vývoja.

Viac od Bobbyho Jacka

prihlásiť sa ku odberu noviniek

Pripojte sa k nášmu bulletinu a získajte technické tipy, recenzie, bezplatné elektronické knihy a exkluzívne ponuky!

Kliknutím sem sa prihlásite na odber