Yksi tärkeimmistä Gitin tarjoamista palveluista on projektihistoria. Koska Git seuraa kaikkia arkistossa tehtyihin tiedostoihin tehtyjä muutoksia, se voi tarjota erittäin tehokkaita lokiominaisuuksia. Voit hakea projektin historiasta monella eri tavalla ja voit poimia ja näyttää erilaisia tietoja yhdellä joustavalla komennolla.
The git loki komento on valtava, suurin kaikista tavallisista Git -komennoista. Sen käsikirja on yli 2500 riviä pitkä. Onneksi, git loki tarjoaa suurimman osan hyödyllisimmästä käyttäytymisestään vain muutamalla avainvaihtoehdolla.
Peruskirjaus oletuskäyttäytymisellä
Oletuksena, git loki näyttää käänteisen kronologisen luettelon sitoumuksista. Jokainen sitoutuminen sisältää tiivisteen, tekijän, päivämäärän ja sitoutumisviestin:
Komento näyttää hakulaitteen (esim. Vähemmän, enemmän) näyttääkseen koko tuotoksen, jotta voit helposti navigoida tuloksissa. Voit määrittää Gitin käyttämään valitsemaasi ohjelmaa, kuten useimpia hakulaitteita.
Tässä on joitakin git -lokituloksia git -lähdekoodin arkisto itse:
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
Tulos alkaa sitoutumishaulla ( 670 ...), jota seuraa luettelo haaroista, jotka tällä hetkellä osoittavat kyseistä sitoutumista ( PÄÄ -> mestari , jne.)
kopioi video verkkosivustolta
Seuraavalla rivillä kuvataan tämän sitoumuksen tekijä ja annetaan heidän nimensä ja sähköpostiosoitteensa.
Sitoumuksen koko päivämäärä ja kellonaika seuraavat seuraavalla rivillä.
Lopuksi sitoumusviestin koko sisältö tulee näkyviin. Voit hallita suurinta osaa kaikesta muusta, mitä git-loki tarjoaa komentorivivalinnoilla. Vaihtoehtoja on kahta päätyyppiä:
- Muotoilu, joka määrittää, miten Git näyttää kunkin tehtävän.
- Suodatus, joka määrittää, mikä sitoutuu git loki sisältää.
Komentorivivalintojen lisäksi git-loki hyväksyy argumentteja, jotka määrittävät tiedostoja, sitoumuksia, haaroja tai muita viittauksia. Nämä koskevat lisäsuodatusta.
Git -lokilähdön muotoilu
Yksi yksinkertaisimmista säädöistä on --yksi linja vaihtoehto, joka tuottaa erittäin lyhyen tuloksen:
git log --oneline
Lokin jokainen rivi sisältää nyt vain lyhennetyn sitoutumishajautuksen ja vahvistusviestin aiheen. Tämä on erinomainen tapa saada yleiskatsaus hankkeeseen viime aikoina tehdyistä sitoumuksista:
Valitettavasti ilman muuta kontekstia nämä tiedot eivät ole aina niin hyödyllisiä. Se saattaa antaa sinulle epämääräisen tunteen projektista, mutta siitä puuttuu päivämääriä ja muuta hyödyllistä tietoa tekijöistä ja tiedostoista.
Haarakaavion tarkasteleminen
The --kaavio -vaihtoehdon avulla voit visualisoida haarojen väliset suhteet. Se on hyvin yksinkertaista, mutta voi auttaa selvittämään monimutkaista historiaa.
git log --oneline --graph
Aiheeseen liittyviä: Kuinka luoda uusi haara Gitiin
Räätälöity kaunis ulostulo
Voit saavuttaa monimutkaisemman muotoilun määrittämällä sen yksityiskohtaisesti käyttämällä --nätti vaihtoehto. Syntaksi muuttuu hyvin yksinkertaisesta paljon monimutkaisemmaksi katso täydelliset tiedot käyttöoppaasta .
sovelluksia, jotka opettavat sinulle piirtämistä
git log --pretty=short
On pohjimmiltaan sama kuin git loki ilman päivämäärää tai koko viestiä:
git log --pretty=oneline
On vastaava kuin git log --oneline .
git log --pretty=fuller
Sisältää paljon yksityiskohtia. Se jopa erottaa tekijän ja tekijän, jotka teoriassa voivat olla erilaisia ihmisiä:
Kanssa muoto: Voit tarjota merkkijonon, joka sisältää haluamasi sisällön, mukaan lukien paikkamerkit, jotka korvataan eri tiedoilla. Tässä on esimerkkejä paikkamerkkeistä:
- %H tehdä hash
- %h lyhennetty sitoutumishajautus
- % - kirjoittajan päivämäärä
- %Kanssa kirjoittajan päivämäärä, sukulainen
- %s sitoutua viestin aiheeseen
- % b sitoutua viestin runkoon
- %s lyhennetty ylätason tiiviste
Voit lisätä tulosteeseen kiinteitä merkkejä ja värittää ne. Tässä esimerkissä näkyy myös päivämäärän muunnelma:
git log --pretty=format:'%C(auto) %h [%ad] %s' --date=short
Huomaa, että hakasulkeet ympäröivät päivämäärän. Valitsemastasi muotoilusta riippumatta, jos haluat, että tulostuksesta on hyötyä putkilinjassa tai muussa tekstinkäsittelymuodossa, sinun on harkittava, kuinka rajata tulosteen jokainen osa.
Näytetään erot Lokissa
Tärkeä yksityiskohta arkiston historiaa tarkasteltaessa on erot itse. Ne edustavat sitä, mikä koodissa on todella muuttunut! Aloittelijoille voit saada yhteenvedon muutoksista jokaisen sitoutumisen yhteydessä käyttämällä -lyhyt tila :
git log --shortstat
Tämä lisää seuraavan rivin:
1 file changed, 48 insertions(+), 2 deletions(-)
Jokaisen tehtävän loppuun. Näet usein tällaisen yhteenvedon - esimerkiksi GitHubin sivuilla - ja se on hyödyllinen tapa arvioida nopeasti tietyn sitoumuksen laajuus. Jos haluat lisätietoja, voit sisällyttää täyden patch -lähdön (erot) käyttämällä -p lippu:
git log -p
Git -lokin lähdön suodatus
Riippumatta siitä, mitä muotoilua käytät, näet silti nykyisen haaran kaikkien lokien täydellisen lokin. Vaikka Git jakaa ne sivuiksi, se voi silti tuottaa paljon. Seuraavien asetusten avulla voit muokata lokin sisältämiä sitoumuksia.
Rajoitetaan määrällä
Jos haluat vain leikata tulokset näyttämään muutamat viimeisimmät sitoumukset, käytä -[määrä] syntaksi:
git log -2
Rajoitus päivämäärän mukaan
Jos haluat rajoittaa sitoumukset tietylle ajanjaksolle, käytä --siitä asti kun ( --jälkeen ) ja --siihen asti kun ( --ennen ) vaihtoehtoja. Näissä on päivämäärä ISO 8601 -muodossa. Voit käyttää jompaakumpaa --siitä asti kun tai --siihen asti kun erikseen tai molemmat yhdessä määrittämään alueen. Vaihtoehdot --jälkeen ja --ennen ovat synonyymejä.
git log --since='2021-01-01' --until='2021-05-01'
Rajoitus tiedoston mukaan
Git -loki voi keskittyä tiettyyn tiedostoon eikä kaikkiin arkistosi tiedostoihin. Tämä auttaa sinua selvittämään, miten tietty tiedosto on muuttunut ajan myötä. Liitä vain tiedostonimi git -komennon loppuun:
git log filename
Näet vain ne toimet, jotka vaikuttivat Tiedoston nimi .
Eri haarat
Sivuliikkeen lokia tarkasteltaessa sinulla saattaa olla ainutlaatuisia vaatimuksia. Esimerkiksi sen sijaan, että näet koko historian, haluat ehkä vain nähdä, mikä on muuttunut kyseisessä haarassa. Git -loki voi auttaa ref1..viite2 syntaksi. Voit käyttää kolmea hieman erilaista lähestymistapaa:
- Näytä sitoumukset, jotka ovat pääosassa, mutta eivät haara: | _+_ |
- Näytä sitoumukset, jotka ovat haaratoimistossa, mutta eivät tärkeimmät: | _+_ |
- Tarkastele sitoumuksia, jotka ovat olemassa vain haara- tai pääalueella: | _+_ |
Eroja kahden tunnisteen välillä
Aivan kuten voit tarkastella historiaa sivuliikkeiden välillä käyttämällä ref1..viite2 syntaksi, voit myös tarkastella historiaa tunnisteiden välillä samalla tavalla. Loppujen lopuksi sekä tunnisteet että haarat ovat viitetyyppejä.
git log --oneline origin/branch..origin/main
Aiheeseen liittyvät komennot
Jos valmistat julkaisutietoja suurempaa projektia varten, git lyhytlogi pitäisi olla ensimmäinen saapumissatama. Se tuottaa luettelon tekijöistä, joiden rinnalla on sitoutuneita aiheita. Voit välittää sille viitealueen rajoittaaksesi historiaa samalla tavalla kuin git -loki:
git log --oneline origin/ main ..origin/ branch
The git show komento on vielä monipuolisempi kuin git loki . Se voi toimia tunnisteiden ja muunlaisten git -objektien kanssa sitoutumishistorian ulkopuolella. Se jakaa monia vaihtoehtoja git loki , mutta tarvitset sitä vain, jos haluat kaivaa alemman tason yksityiskohtia.
Tarkista menneisyys Git -lokin avulla
Git -loki on monimutkainen komento, mutta voit saada paljon käyttöä sen perusvaihtoehdoista. Tietovaraston historian selaaminen on erinomainen tapa ymmärtää, kuinka usein muutoksia tapahtuu ja kuinka monet ihmiset tekevät niitä. Kun olet ymmärtänyt hyvin projektin historian, sinulla on hyvät mahdollisuudet osallistua siihen itse.
kuinka monta tuntia tulla mestariksiJaa Jaa Tweet Sähköposti Liity sosiaalisen koodauksen trendiin ja osallistu GitHub -arkistoihin
Haluatko treenata koodauslihaksiasi ja auttaa avoimen lähdekoodin projekteissa? Näin voit osallistua GitHubiin.
Lue seuraava Liittyvät aiheet- Ohjelmointi
- GitHub
- Koodausvinkkejä
Bobby on teknologian harrastaja, joka työskenteli ohjelmistokehittäjänä lähes kaksi vuosikymmentä. Hän on intohimoinen pelaamisesta, työskentelee Switch Editor Magazine -lehden arvostelutoimittajana ja on upotettu kaikkeen verkkojulkaisemiseen ja -kehitykseen.
Lisää Bobby Jackiltatilaa uutiskirjeemme
Liity uutiskirjeeseemme saadaksesi teknisiä vinkkejä, arvosteluja, ilmaisia e -kirjoja ja ainutlaatuisia tarjouksia!
Klikkaa tästä tilataksesi