Ü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:
- Vaadake põhitegevusi, kuid mitte haru: | _+_ |
- Vaadake kohustusi, mis on filiaalis, kuid mitte peamised: | _+_ |
- 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
Seotud käsud
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
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 JackiltTelli meie uudiskiri
Liituge meie uudiskirjaga, et saada tehnilisi näpunäiteid, ülevaateid, tasuta e -raamatuid ja eksklusiivseid pakkumisi!
Tellimiseks klõpsake siin