Viena svarbiausių „Git“ teikiamų paslaugų yra projekto istorija. Kadangi „Git“ stebi visus saugykloje atliktų failų pakeitimus, jis gali pasiūlyti labai galingas registravimo funkcijas. Galite pateikti užklausą dėl projekto istorijos įvairiais būdais, o naudodami vieną lanksčią komandą galite išskleisti ir rodyti įvairius duomenis.

git žurnalas komanda yra didžiulė, didžiausia iš įprastų „Git“ komandų. Jo vadovas yra daugiau nei 2500 eilučių ilgio. Laimei, git žurnalas suteikia daug naudingiausio elgesio iš kelių pagrindinių variantų.

Pagrindinis registravimas naudojant numatytąjį elgesį

Pagal numatytuosius nustatymus git žurnalas rodo atvirkštinį chronologinį įsipareigojimų sąrašą. Kiekvienas įsipareigojimas apima jo maišos, autoriaus, datos ir įsipareigojimo pranešimą:

Komanda naudoja ieškiklį (pvz., Mažiau, daugiau), kad būtų rodoma visa išvestis, kad galėtumėte lengvai naršyti rezultatuose. Galite sukonfigūruoti „Git“ naudoti jūsų pasirinktą programą, pvz labiausiai ieškiklis.

Štai keletas git žurnalo išvesties iš „git“ šaltinio kodo saugykla pats:

instagram viewer
įsipareigoti 670b81a890388c60b7032a4f5b879f2ece8c4558 (HEAD -> master, origin / next,
kilmė / meistras, kilmė / GALVA)
Autorius: Junio ​​C Hamano
Data: pirmadienis birželio 14 d. 13:23:28 2021 +0900
Antroji partija
Pasirašė: Junio ​​C Hamano

Rezultatas prasideda nuo įvykdymo maišos (670...), po kurio pateikiamas šakų, kurios šiuo metu nurodo tą įsipareigojimą, sąrašas (GALVA -> meistrasir kt.)

Kitoje eilutėje aprašomas šio įsipareigojimo autorius, nurodant jo vardą ir el. Pašto adresą.

Visa įsipareigojimo data ir laikas pateikiami kitoje eilutėje.

Galiausiai pasirodo visas įsipareigojimo pranešimo turinys. Galite valdyti daugumą visa kita, ką siūlo „git“ žurnalas, naudodami komandų eilutės parinktis. Yra du pagrindiniai variantų tipai:

  • Formatavimas, kuris apibrėžia, kaip „Git“ rodo kiekvieną įsipareigojimą.
  • Filtravimas, kuris apibrėžia, kuris įsipareigoja git žurnalas apima.

Be komandinės eilutės parinkčių, „git“ žurnalas priima argumentus, nurodančius failus, įsipareigojimus, filialus ar kitokio tipo nuorodas. Tai taikoma tolesniam filtravimui.

„Git“ žurnalo išvesties formatavimas

Vienas iš paprasčiausių pakeitimų yra --viena linija variantas, kuris pateikia labai trumpą išvestį:

git žurnalas - linija

Kiekvienoje žurnalo eilutėje dabar yra tik sutrumpintas įmaišymo maišas ir tema įsipareigojimo pranešimas. Tai puikus būdas apžvelgti naujausius įsipareigojimus projektui:

Deja, be jokio kito konteksto ši informacija ne visada yra tokia naudinga. Tai gali suteikti jums miglotą projektą jausmą, tačiau trūksta datų ir kitos naudingos informacijos apie autorius ir bylas.

Filialo grafiko peržiūra

--grafas parinktis leidžia vizualizuoti ryšius tarp šakų. Tai labai paprasta, tačiau gali padėti išnarplioti sudėtingą istoriją.

git žurnalas - linijinis - grafikas

Susijęs: Kaip sukurti naują filialą „Git“

Individualus gražus išėjimas

Galite pasiekti sudėtingesnį formatavimą, jį tiksliai nurodydami naudodami --graži variantą. Sintaksė eina nuo labai paprastos iki daug sudėtingesnės, taigi išsamios informacijos ieškokite vadove.

git žurnalas - gana = trumpas

Iš esmės yra tas pats git žurnalas be datos ar viso pranešimo:

git log - gana = tiesioginis

Yra lygiavertis git žurnalas - linija.

git log - gana = pilnesnis

Apima daug detalių. Tai netgi skiria autorių ir įsipareigotojus, kurie teoriškai gali būti skirtingi žmonės:

Su formatas: variantą, galite pateikti eilutę, kurioje yra bet koks norimas turinys, įskaitant vietos rezervavimo ženklus, pakeistus įvairiais duomenimis. Štai keli vietos rezervavimo ženklų pavyzdžiai:

  • % H padaryti maišos
  • % h sutrumpintas įsipareigoti maišos
  • %Reklama autoriaus data
  • % ar autoriaus data, giminaitė
  • % s įsipareigoti pranešimo tema
  • % b įvykdyti pranešimo turinį
  • % p sutrumpinti tėvų maišos

Į išvestį galite pridėti fiksuotų simbolių ir juos spalvinti. Šiame pavyzdyje taip pat parodytas datos formato variantas:

„git log“ - gana = formatas: „% C (automatinis)% h [% ad]% s“ - data = trumpas

Atminkite, kad skliausteliuose yra data. Nepriklausomai nuo pasirinkto formatavimo, jei norite, kad išvestis būtų naudinga rengiant ar naudojant kitas teksto apdorojimo formas, turėtumėte apsvarstyti, kaip atskirti kiekvieną išvesties dalį.

Difų rodymas žurnale

Svarbi detalė, žiūrint į saugyklos istoriją, yra patys skirtumai. Jie juk atspindi tai, kas iš tikrųjų pasikeitė kode! Pradedantiesiems galite gauti pakeitimų suvestinę, naudodamiesi kiekvienu įsipareigojimu --šortas:

git žurnalas - trumpasis

Tai prideda tokią eilutę:

1 failas pakeistas, 48 ​​įterpimai (+), 2 ištrinti (-)

Kiekvieno įsipareigojimo apačioje. Dažnai matysite tokią santrauką, pavyzdžiui, visuose „GitHub“ puslapiuose, ir tai yra naudingas būdas greitai įvertinti konkretaus įsipareigojimo apimtį. Norėdami gauti išsamesnės informacijos, galite įtraukti visą pleistro išvestį (skirtumus) naudodami -p vėliava:

git log -p

Filtruojamas Git žurnalo išvestis

Kad ir kokį formatą taikytumėte, vis tiek matysite išsamų visų įvykių žurnalą dabartiniame filiale. Nors „Git“ juos suskirsto į puslapius, vis tiek tai gali būti daugybė rezultatų. Šios parinktys leidžia tinkinti, kurį įsipareigojimą sudaro žurnalas.

Apribojimas pagal sumą

Jei norite tiesiog apkarpyti rezultatus, kad būtų rodomi keli naujausi įsipareigojimai, naudokite - [skaičius] sintaksė:

git žurnalas -2

Apribojimas pagal datą

Norėdami apriboti įsipareigojimų rinkinį iki tam tikros dienų sekos, naudokite --nuo (- po to) ir - iki (- prieš) galimybės. Kiekviena iš jų laiko ISO 8601 formato datą. Galite naudoti bet kurį --nuo arba - iki atskirai arba abu kartu nurodydami diapazoną. Variantai - po to ir - prieš yra sinonimai.

git log --since = "2021-01-01" - iki = "2021-05-01"

Apribojimas pagal failą

„Git“ žurnalas gali sutelkti dėmesį į konkretų failą, o ne į kiekvieną failą jūsų saugykloje. Tai puikiai padeda sužinoti, kaip tam tikras failas pasikeitė laikui bėgant. Tiesiog pridėkite failo pavadinimą savo „git“ komandos pabaigoje:

git žurnalo failo vardas

Matysite tik tuos įsipareigojimus, kurie paveikė failo pavadinimas.

Filialų skirtumai

Jums gali būti būdingi unikalūs reikalavimai, kai peržiūrite filialo žurnalą. Pavyzdžiui, užuot peržiūrėję visą istoriją, galbūt norėsite pamatyti, kas pasikeitė toje konkrečioje šakoje. „Git“ žurnalas gali padėti per ref1..ref2 sintaksė. Yra trys šiek tiek skirtingi metodai, kuriuos galite naudoti:

  1. Peržiūrėti įsipareigojimus, kurie yra pagrindiniai, bet ne šakiniai:
    git log - pirminė kilmė / šaka..kilmė / pagrindinis
  2. Peržiūrėkite filialo įsipareigojimus, bet ne pagrindinius:
    git log - linijos kilmė /pagrindinis..kilmė /atšaka
  3. Peržiūrėti įsipareigojimus, kurie egzistuoja tik filiale ar pagrindiniame filiale:
    git log - linijos kilmė / šaka...kilmė / pagrindinis

Kaip galite peržiūrėti istoriją tarp filialų naudodami ref1..ref2 sintaksę, taip pat galite peržiūrėti žymų istoriją. Ir žymos, ir šakos yra nuorodų rūšys.

„git log“ - „abbrev-sitout“ - gana = formatas: „% h% ar% s“ v2.32.0-rc3..v2.32.0

Jei rengiate didesnio projekto išleidimo pastabas, „git“ dienoraštis turėtų būti jūsų pirmasis įplaukimo uostas. Joje sudaromas autorių sąrašas, šalia kurių yra įsipareigojimų subjektai. Galite perduoti atskaitos diapazoną, kad apribotumėte istoriją panašiai kaip „git“ žurnale:

„git shortlog“ v2.32.0-rc3..v2.32.0

git show komanda yra dar universalesnis nei git žurnalas. Jis gali dirbti su žymomis ir kitų tipų „git“ objektais, neįtraukiančiais į istoriją. Jis dalijasi daugybe galimybių git žurnalas, bet jums to tikrai prireiks tik tuo atveju, jei reikės įsigilinti į žemesnio lygio detales.

Peržiūrėkite praeitį su „Git Log“

„Git“ žurnalas yra sudėtinga komanda, tačiau naudodamiesi pagrindinėmis jos parinktimis galite daug naudoti. Naršymas saugyklos istorijoje yra puikus būdas suprasti, kaip dažnai įvyksta pokyčių ir kiek žmonių juos daro. Gerai supratę projekto istoriją, galėsite puikiai prisidėti prie jo patys.

El
Prisijunkite prie socialinio kodavimo tendencijos ir prisidėkite prie „GitHub“ saugyklų

Norite pasportuoti koduojančius raumenis ir padėti atvirojo kodo projektams? Štai kaip prisidėti prie „GitHub“.

Skaitykite toliau

Susijusios temos
  • Programavimas
  • „GitHub“
  • Kodavimo patarimai
Apie autorių
Bobis Džekas (Paskelbti 54 straipsniai)

Bobis yra technologijų entuziastas, kuris beveik du dešimtmečius dirbo programinės įrangos kūrėju. Jis aistringai žaidžia, dirba „Review Player“ žurnalo apžvalgų redaktoriumi ir yra pasinėręs į visus internetinės leidybos ir interneto kūrimo aspektus.

Daugiau iš Bobby Jacko

Prenumeruokite mūsų naujienlaiškį

Prisijunkite prie mūsų naujienlaiškio, kuriame rasite techninių patarimų, apžvalgų, nemokamų el. Knygų ir išskirtinių pasiūlymų!

Dar vienas žingsnis…!

Prašome patvirtinti savo el. Pašto adresą el. Laiške, kurį jums ką tik išsiuntėme.

.