Üks Giti pakutavatest põhiteenustest on projekti ajalugu. Kuna Git jälgib kõiki hoidlas tehtud failide muudatusi, võib see pakkuda väga võimsaid logimisfunktsioone. Projekti ajaloos saate päringuid teha mitmel erineval viisil ning ühe paindliku käsu abil saate erinevaid andmeid eraldada ja kuvada.
The git logi käsk on tohutu, tavalistest Git-käskudest suurim. Selle käsiraamat on üle 2500 rea pikk. Õnneks git logi pakub paljusid oma kõige kasulikumast käitumisest vaid mõne põhivaliku abil.
Põhiline logimine vaikekäitumisega
Algselt, git logi näitab toimingute pöördkronoloogilist loendit. Iga pühendus sisaldab oma räsi, autorit, kuupäeva ja pühendumissõnumit:
Käsk kasutab piiparit (nt vähem, rohkem) kogu väljundi kuvamiseks, et saaksite hõlpsalt tulemustes navigeerida. Võite konfigureerida Giti kasutama teie valitud programmi, näiteks kõige piipar.
Siin on mõned git-logi väljundid giti lähtekoodi hoidla ise:
pühenduma 670b81a890388c60b7032a4f5b879f2ece8c4558 (HEAD -> master, origin / next,
päritolu / kapten, päritolu / pea)
Autor: Junio C Hamano
Kuupäev: esmaspäev 14 juuni 13:23:28 2021 +0900
Teine partii
Allkirjastanud: Junio C Hamano
Tulemus algab pühendamise räsi (670...), millele järgneb harude loetelu, mis praegu sellele kohustusele osutavad (PEA -> meister, jne.)
Järgmine rida kirjeldab selle kohustuse autorit, märkides nende nime ja e-posti aadressi.
Järgmisel real järgneb kohustuse täielik kuupäev ja kellaaeg.
Lõpuks kuvatakse pühendamisteate kogu sisu. Käsurea suvanditega saate juhtida enamikku kõike muud, mida git log pakub. Valikuid on kahte tüüpi:
- Vormindamine, mis määrab, kuidas Git iga kohustust kuvab.
- Filtreerimine, mis määrab, mis kohustub git logi sisaldab.
Lisaks käsurea suvanditele aktsepteerib git log argumente, mis määravad failid, sidemed, harud või muud tüüpi viited. Need rakendavad täiendavat filtreerimist.
Giti logiväljundi vormindamine
Üks lihtsamaid kohandusi on --liinil väga lühikese väljundiga variant:
git log - oneline
Iga logi rida sisaldab nüüd vaid lühendatud toime räsimist ja teemat pühendumissõnum. See on suurepärane viis saada ülevaade projekti hiljutistest kohustustest:
Kahjuks pole 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.
Harugraafiku vaatamine
The --graafik valik võimaldab teil visualiseerida harude vahelisi suhteid. See on väga lihtne, kuid võib aidata keerukat ajalugu lahti harutada.
git log --oneline --graafik
Seotud: Kuidas luua uus filiaal Gitis
Kohandatud päris väljund
Keerulisema vormindamise saate, kui määrate selle üksikasjalikult, kasutades - päris valik. Süntaks läheb väga lihtsast palju keerukamaks, nii et täieliku teabe saamiseks lugege kasutusjuhendit.
git log - päris = lühike
On sisuliselt sama mis git logi ilma kuupäeva või täieliku sõnumita:
git log - päris = oneline
On samaväärne git log - oneline.
git log - päris = täielikum
Sisaldab palju üksikasju. See eraldab isegi autorit ja tellijat, kes võivad teoreetiliselt olla erinevad inimesed:
Koos vorming: variandina võite esitada stringi, mis sisaldab soovitud sisu, sealhulgas kohatäiteid, mis on asendatud erinevate andmetega. Siin on mõned kohahoidjate näited:
- % H räsima
- % h lühendatud räsi
- % reklaam autori kuupäev
- % ar autori kuupäev, sugulane
- % s pühendada sõnumi teema
- % b pühendama sõnumi sisu
- % lk lühendatud vanemate räsid
Väljundisse saate lisada fikseeritud märke ja seda värvida. See näide näitab ka variatsiooni kuupäeva vormingus:
git log - päris = formaat: '% C (automaatne)% h [% ad]% s' - kuupäev = lühike
Pange tähele, et kuupäeva ümbritsevad sulgud. Ükskõik, millise vormingu valite, peaksite kaaluma, kuidas väljundi iga osa piiritleda, kui väljundist on kasu torujuhtmes või muude tekstitöötlusvormide jaoks.
Erinevuste kuvamine logis
Hoidla ajalugu vaadates on oluline detail diff. Need esindavad ju seda, mis koodis tegelikult muutunud on! Alustuseks võite saada muudatuste kokkuvõtte iga toimingu kõrvalt --shortstat:
git log - lühike statistika
See lisab järgmise rea:
1 fail muudetud, 48 sisestust (+), 2 kustutust (-)
Iga kohustuse lõpuni. Sellist kokkuvõtet näete sageli - näiteks kogu GitHubi lehtedel - ja see on kasulik viis konkreetse kohustuse ulatuse kiireks hindamiseks. Üksikasjalikuma teabe saamiseks võite lisada kogu plaastri väljundi (diff), kasutades -p lipp:
git log -p
Giti logiväljundi filtreerimine
Ükskõik millist vormingut rakendate, näete endiselt praeguses harus kõigi toimingute täielikku logi. Kuigi Git jagab need lehtedeks, võib see siiski olla palju väljundit. Järgmised valikud võimaldavad teil kohandada, milliseid sidemeid logi sisaldab.
Piiramine summa järgi
Kui soovite lihtsalt kärpida tulemusi nii, et kuvatakse paar viimast toimingut, kasutage nuppu - [number] süntaks:
git log -2
Piiramine kuupäeva järgi
Kohustuste kogumi piiramiseks kindla kuupäevavahemikuga kasutage nuppu --sest (- pärast) ja - kuni (- enne) valikud. Neil kõigil on kuupäev ISO 8601 vormingus. Võite kasutada mõlemat --sest 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 saab keskenduda konkreetsele failile, mitte igale teie hoidlas olevale failile. See aitab suurepäraselt teada saada, kuidas konkreetne fail on aja jooksul muutunud. Lihtsalt lisage failinimi oma git-käsu lõppu:
giti logifaili nimi
Näete ainult neid toiminguid, mis mõjutasid faili nimi.
Erinevused harude vahel
Filiaali logi vaatamisel võivad teil olla mõned unikaalsed nõuded. Näiteks võite kogu ajaloo asemel lihtsalt näha, mis selles konkreetses harus on muutunud. Git-logist saab abi ref1..ref2 süntaks. Saate kasutada kolme veidi erinevat lähenemist:
- Vaadake põhikohustusi, kuid mitte harusid:
git log - sirge päritolu / haru..päritolu / peamine
- Vaadake filiaalis olevaid, kuid mitte põhilisi kohustusi:
git log - reaalne päritolu /peamine..päritolu /haru
- Kuva kohustused, mis eksisteerivad ainult filiaalis või peaosas:
git log - sirge päritolu / haru...päritolu / peamine
Nii nagu saate filiaalide vahelist ajalugu vaadata, kasutades ref1..ref2 süntaks, saate samal viisil vaadata ka siltide vahelist ajalugu. Lõppude lõpuks on nii sildid kui ka harud viited.
git log --abbrev-toime --pretty = formaat: '% h% ar% s' v2.32.0-rc3..v2.32.0
Kui koostate suurema projekti väljalaskemärkmeid, git lühike peaks olema teie esimene külastussadam. See koostab loetelu autoritest, kelle kõrval on pühendunud teemad. Ajaloo piiramiseks saate sarnaselt giti logile anda sellele võrdlusvahemiku:
git shortlog v2.32.0-rc3..v2.32.0
The git show käsk on veelgi mitmekülgsem kui git logi. See võib töötada siltide ja muud tüüpi git-objektidega, mis jäävad peale ajaloo. See jagab paljusid võimalusi git logi, kuid teil on seda tegelikult vaja ainult siis, kui peate süvenema madalama taseme üksikasjadesse.
Vaadake üle minevik Git Logiga
Git log on keeruline käsk, kuid selle kõige põhilisematest valikutest saate palju kasutada. Hoidla ajaloo sirvimine on suurepärane viis mõista, kui sageli muutused toimuvad ja kui palju inimesi neid muudab. Kui olete projekti ajaloost hästi aru saanud, on teil suurepärane võimalus ise sellesse panustada.
Kas soovite treenida oma kodeerimislihaseid ja aidata avatud lähtekoodiga projekte? Siit saate teada, kuidas GitHubi panustada.
Loe edasi
- Programmeerimine
- GitHub
- Kodeerimise näpunäited
Bobby on tehnoloogiaentusiast, kes töötas tarkvaraarendajana peaaegu kaks aastakümmet. Ta on kirglik mängude vastu, töötab Switch Player Magazine'is arvustuste redaktorina ning on süvenenud veebipõhise avaldamise ja veebiarenduse kõigisse aspektidesse.
Telli meie uudiskiri
Liituge meie uudiskirjaga, kus leiate tehnilisi näpunäiteid, ülevaateid, tasuta e-raamatuid ja eksklusiivseid pakkumisi!
Veel üks samm !!!
Palun kinnitage oma e-posti aadress e-kirjas, mille just teile saatsime.