A Git által nyújtott egyik legalapvetőbb szolgáltatás a projekt története. Mivel a Git nyomon követi az adattárban végrehajtott fájlok összes változását, nagyon hatékony naplózási funkciókat kínál. A projekt előzményeit sokféleképpen lekérdezheti, és különféle adatokat kinyerhet és megjeleníthet egy rugalmas parancs segítségével.
A git napló A parancs hatalmas, a szokásos Git parancsok közül a legnagyobb. Kézikönyve több mint 2500 sor hosszú. Szerencsére, git napló a leghasznosabb viselkedés nagy részét csupán néhány kulcsfontosságú opcióval biztosítja.
Alapvető naplózás az alapértelmezett viselkedéssel
Alapértelmezés szerint, git napló a fordított, időrendi listát mutatja. Minden elkötelezettség tartalmazza a kivonatot, a szerzőt, a dátumot és az elkötelezettség üzenetet:
A parancs egy személyhívót (például kevesebbet, többet) használ a teljes kimenet megjelenítéséhez, így könnyedén navigálhat az eredményekben. Beállíthatja a Git-t egy tetszőleges program használatára, például a legtöbb személyhívó.
Itt van néhány git napló kimenet a git forráskód tárháza maga:
elkötelezi magát 670b81a890388c60b7032a4f5b879f2ece8c4558 (HEAD -> master, origin / next,
eredet / mester, származás / HEAD)
Szerző: Junio C Hamano
Időpont: hétfő, június 13, 13:23:28, 2021 +0900
A második tétel
Aláírta: Junio C Hamano
Az eredmény a végrehajtási hash-szal kezdődik (670...), amelyet az adott elkötelezettségre jelenleg utaló ágak listája követ (FEJ -> mesterstb.)
A következő sor leírja az elkötelezettség szerzőjét, megadva nevüket és e-mail címüket.
Az elkövetés teljes dátuma és ideje a következő sorban következik.
Végül megjelenik a véglegesítési üzenet teljes tartalma. A legtöbbet, amit a git napló kínál, a parancssori opciókkal vezérelheti. Kétféle opció létezik:
- Formázás, amely meghatározza, hogy a Git hogyan jeleníti meg az egyes elkötelezettségeket.
- Szűrés, amely meghatározza, hogy melyik követi el git napló magába foglalja.
A parancssori opciók mellett a git napló elfogad argumentumokat, amelyek fájlokat, véglegesítéseket, ágakat vagy más típusú hivatkozásokat határoznak meg. Ezek további szűrést alkalmaznak.
A Git napló kimenetének formázása
Az egyik legegyszerűbb beállítás a --egy sor opció, amely nagyon rövid kimenetet eredményez:
git log - online
A napló minden sora csak egy rövidített végrehajtási kivonatot és tárgyát tartalmazza az elkövetési üzenet. Ez kiváló módja annak, hogy áttekintést nyerjünk a projekttel kapcsolatos legutóbbi kötelezettségvállalásokról:
Sajnos más kontextus nélkül ez az információ nem mindig olyan hasznos. Lehet, hogy homályosan érzékeli a projektet, de hiányzik a dátumok és más hasznos információk a szerzőkről és az aktákról.
Ágdiagram megtekintése
A --grafikon opció lehetővé teszi az ágak közötti kapcsolatok vizualizálását. Nagyon alapvető, de segíthet a bonyolult történelem kibontásában.
git log --oneline --graph
Összefüggő: Hogyan lehet új fiókot létrehozni a Git-ben
Testreszabott szép teljesítmény
Bonyolultabb formázást érhet el, ha részletesen megadja a --szép választási lehetőség. A szintaxis nagyon egyszerűből sokkal összetettebbé válik, tehát a részletekért olvassa el a kézikönyvet.
git log - szép = rövid
Lényegében megegyezik a git napló dátum vagy teljes üzenet nélkül:
git napló - szép = oneline
Ezzel egyenértékű git log - online.
git napló - elég = teljesebb
Sok részletet tartalmaz. Elkülöníti még a szerzőt és az elkövetőt, akik elméletileg különböző emberek lehetnek:
A... val formátum: változat, megadhat egy karaktersorozatot, amely bármilyen tartalmat tartalmaz, beleértve a helyőrzőket, amelyeket különböző adatok cserélnek fel. Íme néhány helyőrző példa:
- % H elkövetni hash
- % h rövidített elkövetési hash
- %hirdetés szerző dátuma
- % ar szerző dátuma, rokona
- % s az üzenet tárgyának elkötelezése
- % b elkövetni az üzenet törzsét
- % p rövidített szülő hashek
Fix karaktereket adhat a kimenethez és színezheti. Ez a példa a dátumformátum variációját is mutatja:
git napló - szép = formátum: '% C (automatikus)% h [% ad]% s' - dátum = rövid
Ne feledje, hogy zárójelben szerepel a dátum. Bármilyen formázást is választ, ha azt szeretné, hogy a kimenet hasznos legyen a folyamatban vagy más szövegfeldolgozási formákban, fontolja meg a kimenet egyes részeinek lehatárolását.
A különbségek megjelenítése a naplóban
Az adattár történetét szemlélve fontos részleteket maguk a különbségek jelentik. Végül is azt képviselik, ami valójában megváltozott a kódban! Kezdetnek összefoglalót kaphat az egyes elkötelezettségek melletti változásokról --shortstat:
git napló - shortstat
Ez hozzáad egy sort, például:
1 fájl megváltozott, 48 beillesztés (+), 2 törlés (-)
Minden egyes kötelezettség aljára. Gyakran látni fogja ezt a fajta összefoglalót - például a GitHub összes oldalán -, és ez egy hasznos módja annak, hogy gyorsan megítélje egy adott elkötelezettség körét. Részletesebb információkért a teljes patch kimenetet (diff-eket) is beillesztheti a -p zászló:
git log -p
Git napló kimenetének szűrése
Bármilyen formázást is alkalmazzon, az aktuális fiókban továbbra is megjelenik az összes végrehajtás teljes naplója. Annak ellenére, hogy a Git oldalakra bontja őket, mégis sok kimenet lehet. A következő lehetőségek lehetővé teszik a napló által elkövetett kötelezettségek testreszabását.
Összeggel korlátozva
Ha csak le akarja vágni az eredményeket, hogy a legutóbbi néhány elkötelezettség megjelenjen, használja a -[szám] szintaxis:
git log -2
Dátum szerinti korlátozás
Ha a dátumtartományra kívánja korlátozni a vállalások halmazát, használja a --mivel (--utána) és --amíg (--előtt) opciók. Ezek mindegyike ISO 8601 formátumú dátumot vesz fel. Használhatja bármelyiket --mivel vagy --amíg önmagukban, vagy mindkettő együtt adhat meg egy tartományt. Az opciók --utána és --előtt szinonimák.
git log --since = "2021-01-01" --until = "2021-05-01"
Fájl általi korlátozás
A Git-napló egy adott fájlra összpontosíthat, nem pedig az adattár minden fájljára. Ez nagyszerű segítség arra, hogy megtudja, hogyan változott egy adott fájl az idők során. Egyszerűen csatolja a fájlnevet a git parancs végéhez:
git napló fájlnév
Csak azokat a végrehajtásokat fogja látni, amelyek érintettek fájl név.
Ágak közötti különbségek
A fiók naplójának megtekintésekor néhány egyedi követelménye lehet. Például ahelyett, hogy megnézné a teljes történelmet, érdemes csak megnéznie, hogy mi változott az adott ágban. A Git napló segíthet a ref1..ref2 szintaxis. Három kissé eltérő megközelítést alkalmazhat:
- Tekintse meg a fő, de nem ágazati kötelezettségvállalásokat:
git log - online eredet / ág..eredet / main
- Fiókban lévő, de nem fő tevékenységek megtekintése:
git napló - online eredet /fő-..eredet/ág
- Csak fiókban vagy főben létező vállalások megtekintése:
git log - egyenes eredet / ág...eredet / fő
Ahogy az ágak közötti előzményeket is megtekintheti a ref1..ref2 szintaxis, ugyanúgy megtekintheti a címkék közötti előzményeket is. Végül is a címkék és az ágak is referencia típusok.
git napló - abbrev-kötelezettség - szép = formátum: '% h% ar% s' v2.32.0-rc3..v2.32.0
Ha egy nagyobb projekt kiadási megjegyzéseit készíti elő, git shortlog legyen az első bejárati kikötője. Készít egy listát azokról a szerzőkről, akik mellett elkötelezettek vannak. Átadhat egy referenciatartományt, hogy korlátozza az előzményeket a git naplóhoz hasonló módon:
git shortlog v2.32.0-rc3..v2.32.0
A git show parancs még sokoldalúbb, mint git napló. Címkékkel és más típusú git objektumokkal képes működni a lekérdezési előzményeken túl. Sok lehetőséget oszt meg git napló, de csak akkor lesz rá igazán szüksége, ha be kell ásnia az alacsonyabb szintű részletekbe.
Tekintse át a múltat a Git naplóval
A Git napló egy bonyolult parancs, de a legalapvetőbb lehetőségekből rengeteg hasznát veheti. A tároló előzményeinek böngészése kiváló módja annak megértéséhez, hogy milyen gyakran fordulnak elő változások, és hány ember hajtja végre őket. Miután jól megismerte a projekt történetét, kiváló helyzetben lesz ahhoz, hogy maga is hozzájáruljon ehhez.
Gyakorolni szeretné a kódoló izmokat és segíteni a nyílt forráskódú projektekben? Így járulhat hozzá a GitHubhoz.
Olvassa el a következőt
- Programozás
- GitHub
- Kódolási tippek

Bobby technológiai rajongó, aki szoftverfejlesztőként dolgozott a két évtized alatt. Szenvedélyesen játszik a játékokkal, a Switch Player Magazine Véleményszerkesztőjeként dolgozik, és elmerül az online publikálás és webfejlesztés minden aspektusában.
Iratkozzon fel hírlevelünkre
Csatlakozzon hírlevelünkhöz, amely műszaki tippeket, véleményeket, ingyenes e-könyveket és exkluzív ajánlatokat tartalmaz!
Még egy lépés…!
Kérjük, erősítse meg e-mail címét az imént elküldött e-mailben.