Kuidas kontrollida projekti ajalugu Git Logiga

Kuidas kontrollida projekti ajalugu Git Logiga

Üks olulisemaid Giti pakutavaid teenuseid on projekti ajalugu. Kuna Git jälgib kõiki hoidlas tehtud failide muudatusi, võib see pakkuda väga võimsaid logimisfunktsioone. Saate projekti ajaloost päringuid teha mitmel erineval viisil ning ühe paindliku käsu abil saate andmeid välja võtta ja kuvada.





The git log käsk on tohutu, suurim igast tavalisest Git -käsust. Selle käsiraamat on üle 2500 rea pikk. Õnneks git log pakub suure osa oma kõige kasulikumast käitumisest vaid mõnest põhivalikust.





Põhiline logimine vaikekäitumisega

Vaikimisi, git log näitab kohustuste pöördkronoloogilist nimekirja. Iga kohustus sisaldab oma räsi, autorit, kuupäeva ja kinnitussõnumit:





Käsk kasutab täieliku väljundi kuvamiseks piiparit (nt vähem, rohkem), et saaksite tulemustes hõlpsalt navigeerida. Saate seadistada Giti kasutama teie valitud programmi, näiteks kõige rohkem piiparit.

Siin on mõned git logi väljundid git lähtekoodi hoidla ise:



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

Tulemus algab kohustusliku räsimisega ( 670 ...), millele järgneb nende harude loend, mis praegu sellele kohustusele viitavad ( PEA -> meister , jne.)

ootamatu kerneli režiimi lõks Windows 10

Järgmine rida kirjeldab selle kohustuse autorit, andes nende nime ja e -posti aadressi.





Täitmise kuupäev ja kellaaeg järgnevad järgmisele reale.

Lõpuks kuvatakse kinnituskirja täielik sisu. Enamikku kõike muud, mida git log pakub, saate käsurea suvanditega juhtida. Valikuid on kahte peamist tüüpi:





  • Vormindamine, mis määrab, kuidas Git kuvab iga kohustuse.
  • Filtreerimine, mis määratleb, mis kohustub git log sisaldab.

Lisaks käsurea suvanditele aktsepteerib git log argumente, mis määravad failid, kohustused, harud või muud tüüpi viited. Need rakendavad täiendavat filtreerimist.

Git logi väljundi vormindamine

Üks lihtsamaid kohandusi on -online valik, mis annab väga lühikese väljundi:

git log --oneline

Logi iga rida sisaldab nüüd ainult lühendatud kohustuse räsimist ja kohustusteate teemat. See on suurepärane võimalus saada ülevaade projekti hiljutistest kohustustest:

Kahjuks ei ole see teave ilma muu kontekstita alati nii kasulik. See võib anda teile projekti jaoks ebamäärase tunde, kuid sellel puuduvad kuupäevad ja muu kasulik teave autorite ja failide kohta.

Filiaaligraafiku vaatamine

The --graafik suvand võimaldab visualiseerida harudevahelisi suhteid. See on väga lihtne, kuid võib aidata keerulist ajalugu lahti harutada.

git log --oneline --graph

Seotud: Kuidas Gitis uut filiaali luua

Kohandatud päris väljund

Keerulisemat vormindust saate saavutada, täpsustades selle üksikasjalikult -päris valik. Süntaks läheb väga lihtsast palju keerukamaks täieliku teabe saamiseks lugege kasutusjuhendit .

kuidas kontrollida, kas teie facebook on häkkinud
git log --pretty=short

Sisuliselt on sama mis git log ilma kuupäeva või täieliku sõnumita:

git log --pretty=oneline

On samaväärne git log -oneline .

git log --pretty=fuller

Sisaldab palju detaile. See eraldab isegi autori ja tellija, kes võivad teoreetiliselt olla erinevad inimesed:

Koos formaat: variandi korral saate esitada stringi, mis sisaldab soovitud sisu, sealhulgas kohatäiteid, mis on asendatud erinevate andmetega. Siin on mõned näited kohatäidetest:

  • %H räsi tegema
  • %h lühendatud kohustuse räsimine
  • %kuni autori kuupäev
  • %Koos autori kuupäev, sugulane
  • %s siduda sõnumi teema
  • % b siduda sõnumi sisu
  • %lk lühendatud vanema räsid

Väljundile saate lisada fikseeritud märke ja need värvida. See näide näitab ka kuupäevavormingu variatsiooni:

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

Pange tähele, et kuupäeva ümbritsevad sulgud. Ükskõik, millise vormingu valite, kui soovite, et väljund oleks kasulik konveieril või muudel tekstitöötlusvormidel, peaksite kaaluma, kuidas väljundi iga osa piiritleda.

Erinevuste kuvamine logis

Hoidla ajalugu vaadates on oluline detail erinevused ise. Lõppude lõpuks esindavad nad seda, mis on koodis tegelikult muutunud! Alustuseks saate iga kohustuse kõrval muudatuste kokkuvõtte -lühike olek :

git log --shortstat

See lisab järgmise rea:

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

Iga kohustuse lõpuni. Sellist kokkuvõtet näete sageli - näiteks GitHubi lehtedel - ja see on kasulik viis konkreetse kohustuse ulatuse kiireks hindamiseks. Üksikasjalikuma teabe saamiseks võite kasutada täielikku plaastri väljundit (erinevusi), kasutades -lk lipp:

git log -p

Git logi väljundi filtreerimine

Ükskõik, millist vormingut kasutate, näete endiselt praeguse haru kõigi kohustuste täielikku logi. Kuigi Git jagab need lehtedeks, võib see siiski olla palju väljundit. Järgmised suvandid võimaldavad teil kohandada, milliseid kohustusi logi sisaldab.

Piirang summas

Kui soovite tulemusi kärpida, et kuvada viimaseid kohustusi, kasutage nuppu -[number] süntaks:

git log -2

Piirang kuupäeva järgi

Kohustuste komplekti piiramiseks kindla kuupäevavahemikuga kasutage -sellest ajast peale ( -pärast ) ja -kuni ( -enne ) valikud. Igaüks neist võtab kuupäeva ISO 8601 vormingus. Võite kasutada kumbagi -sellest ajast peale või -kuni vahemiku määramiseks eraldi või mõlemad koos. Valikud -pärast ja -enne on sünonüümid.

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

Piiramine faili järgi

Git logi võib keskenduda kindlale failile, mitte igale teie hoidla failile. See aitab teil teada saada, kuidas konkreetne fail on aja jooksul muutunud. Lihtsalt lisage failinimi oma git -käsu lõppu:

git log filename

Näete ainult neid toiminguid, mis seda mõjutasid faili nimi .

Harude erinevused

Filiaali logi vaatamisel võivad teil olla unikaalsed nõuded. Näiteks selle asemel, et näha kogu ajalugu, võiksite lihtsalt näha, mis on selles harus muutunud. Git logi saab aidata ref1..viide2 süntaks. Võite kasutada kolme veidi erinevat lähenemisviisi:

  1. Vaadake põhitegevusi, kuid mitte haru: | _+_ |
  2. Vaadake kohustusi, mis on filiaalis, kuid mitte peamised: | _+_ |
  3. Vaadake kohustusi, mis eksisteerivad ainult filiaalis või põhiosas: | _+_ |

Erinevused kahe sildi vahel

Nii nagu saate filiaalide vahelist ajalugu vaadata, kasutades ref1..viide2 süntaksit, saate samamoodi vaadata ka siltide vahelist ajalugu. Lõppude lõpuks on nii sildid kui ka oksad viite tüübid.

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

Kui koostate suurema projekti jaoks väljalaskemärke, git lühike peaks olema teie esimene sadam. See koostab nimekirja autoritest, kellega kaasnevad teemad. Ajaloo piiramiseks sarnaselt git logiga saate sellele viitevahemiku edastada:

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

The git show käsk on isegi mitmekülgsem kui git log . See võib töötada siltide ja muud tüüpi git -objektidega väljaspool kohustuste ajalugu. See jagab palju võimalusi git log , kuid vajate seda tõesti ainult siis, kui peate süvenema madalama taseme üksikasjadesse.

Vaadake minevikku Git Logiga

Git log on keeruline käsk, kuid selle kõige põhilisematest valikutest saate palju kasu. Hoidla ajaloo sirvimine on suurepärane võimalus mõista, kui sageli muudatusi tehakse ja kui palju inimesi neid teeb. Kui olete projekti ajaloost hästi aru saanud, on teil suurepärane võimalus sellesse ise panustada.

miks on minu arvutis vale aeg?
Jaga Jaga Piiksuma E -post Liituge sotsiaalse kodeerimise trendiga ja panustage GitHubi hoidlatesse

Kas soovite treenida oma kodeerivaid lihaseid ja aidata avatud lähtekoodiga projekte? Siit saate teada, kuidas GitHubile panustada.

Loe edasi
Seotud teemad
  • Programmeerimine
  • GitHub
  • Näpunäiteid kodeerimiseks
Autori kohta Bobby Jack(58 artiklit avaldatud)

Bobby on tehnoloogiahuviline, kes töötas enam kui kaks aastakümmet tarkvaraarendajana. Ta on kirglik mängude vastu, töötab ajakirja Switch Player ülevaadete toimetajana ning on süvenenud kõikidesse veebipõhiste avaldamise ja veebiarenduse aspektidesse.

Veel Bobby Jackilt

Telli meie uudiskiri

Liituge meie uudiskirjaga, et saada tehnilisi näpunäiteid, ülevaateid, tasuta e -raamatuid ja eksklusiivseid pakkumisi!

Tellimiseks klõpsake siin