Fordelen ved et versionskontrolsystem er, at det registrerer ændringer. Disse registreringer giver os mulighed for at hente data som forpligtelser, finde ud af fejl, opdateringer. Men al denne historie vil være ubrugelig, hvis vi ikke kan navigere i den. På dette tidspunkt har vi brug for git log kommandoen.
Git log er et hjælpeværktøj til at gennemgå og læse en historie om alt, hvad der sker med et depot. Flere muligheder kan bruges med en git-log for at gøre historien mere specifik.
Generelt er git-loggen en registrering af commits. En git-log indeholder følgende data:
Hvordan afslutter jeg git log kommandoen?
Der kan være en situation, der opstår, du kører git log-kommandoen, og du sidder fast der. Du vil skrive eller gå tilbage til bash, men du kan ikke. Når du klikker på Gå ind tasten, vil den navigere dig til den ældre kommando indtil slutflaget.
Løsningen på dette problem er at trykke det q (Q for at afslutte) . Det vil forlade dig fra situationen og returnere dig til kommandolinjen. Nu kan du udføre enhver af kommandoerne.
Grundlæggende Git-log
Git log kommando er en af de mest almindelige kommandoer i git. Det er den mest nyttige kommando til Git. Hver gang du skal tjekke historikken, skal du bruge kommandoen git log. Den grundlæggende git log-kommando vil vise de seneste commits og status for hovedet. Det vil bruge som:
$ git log
Ovenstående kommando vil vise de sidste commits. Overvej nedenstående output:
Ovenstående kommando viser alle de seneste commits. Hver commit indeholder en unik sha-id, som genereres af SHA-algoritmen. Det inkluderer også dato, klokkeslæt, forfatter og nogle yderligere detaljer.
Vi kan udføre nogle handlinger som at rulle, hoppe, flytte og afslutte på kommandolinjen. For at rulle på kommandolinjen skal du trykke på k for at flytte op, j for at flytte ned, mellemrumstasten for at rulle ned en hel side for at rulle op ad en side og q for at afslutte fra kommandolinjen.
<Git Log Oneline
Oneline-indstillingen bruges til at vise output som én commit pr. linje. Det viser også output i korte træk som de første syv tegn i commit SHA og commit beskeden.
Det vil blive brugt som følger:
$ git log --oneline
Så normalt kan vi sige, at --oneline flaget får git log til at vise:
- en commit pr. linje
- de første syv karakterer i SHA
- commit beskeden
Overvej nedenstående output:
Som vi kan se mere præcist fra ovenstående output, gives hver commit kun i én linje med et syvcifret sha-nummer og commit-besked.
Git Log Stat
Log-kommandoen viser de filer, der er blevet ændret. Den viser også antallet af linjer og en oversigtslinje over de samlede poster, der er blevet opdateret.
Generelt kan vi sige, at stat-indstillingen bruges til at vise
hvordan man omdøber en mappe linux
- de ændrede filer,
- Antallet af linjer, der er blevet tilføjet eller fjernet
- En oversigtslinje over det samlede antal ændrede poster
- De linjer, der er blevet tilføjet eller fjernet.
Det vil blive brugt som følger:
$ git log --stat
Ovenstående kommando vil vise de filer, der er blevet ændret. Overvej nedenstående output:
Fra ovenstående output kan vi se, at alle anførte commits er modifikationer i depotet.
Git log P eller Patch
Git log patch-kommandoen viser de filer, der er blevet ændret. Det viser også placeringen af de tilføjede, fjernede og opdaterede linjer.
Det vil blive brugt som:
hvad er f5 på tastaturet
$ git log --patch
Eller
$ git log -p
Generelt kan vi sige, at --patch flaget bruges til at vise:
- Ændrede filer
- Placeringen af de linjer, du tilføjede eller fjernede
- Der er foretaget specifikke ændringer.
Overvej nedenstående output:
Ovenstående output viser de ændrede filer med placeringen af linjer, der er blevet tilføjet eller fjernet.
Git Log Graph
Git log-kommandoen gør det muligt at se din git-log som en graf. For at liste commits i form af en graf, kør git log kommandoen med --graph option. Det vil køre som følger:
$ git log --graph
For at gøre outputtet mere specifikt, kan du kombinere denne kommando med --oneline mulighed. Det vil fungere som følger:
$ git log --graph --oneline
Filtrering af Commit History
Vi kan filtrere output efter vores behov. Det er en unik egenskab ved Git. Vi kan anvende mange filtre som mængde, dato, forfatter og mere på output. Hvert filter har sine specifikationer. De kan bruges til at implementere nogle navigationsoperationer på output.
Lad os forstå hvert af disse filtre i detaljer.
Efter beløb:
Vi kan begrænse antallet af output commit ved at bruge git log kommandoen. Det er den mest specifikke kommando. Denne kommando vil fjerne kompleksiteten, hvis du er interesseret i færre commits.
For at begrænse git-loggens output, inklusive muligheden -. Hvis vi kun vil have de sidste tre commit, så kan vi sende argumentet -3 i git log kommandoen. Overvej nedenstående output:
Som vi kan se fra ovenstående output, kan vi begrænse outputtet af git log.
Efter dato og klokkeslæt:
Vi kan filtrere output efter dato og klokkeslæt. Vi skal bestå --efter eller -Før argument for at angive datoen. Disse begge argumenter accepterer en række forskellige datoformater. Det vil køre som følger:
$ git log --after='yy-mm-dd'
Ovenstående kommando vil vise alle de tilsagn, der er foretaget efter den givne dato. Overvej nedenstående output:
Ovenstående kommando viser alle commits efter '2019-11-01'.
Vi kan også videregive den relevante referenceerklæring som 'i går', 'for 1 uge siden', 'for 21 dage siden' og mere. Det vil køre som:
git log --after='21 days ago'
Ovenstående kommando viser de tilsagn, der er foretaget for 21 dage siden. Overvej nedenstående output:
Vi kan også spore commits mellem to datoer. For at spore de tilsagn, der blev oprettet mellem to datoer, skal du sende en erklæringsreference --Før og --efter datoen. Antag, at vi ønsker at spore commits mellem '2019-11-01' og '2019-11-08'. Vi kører kommandoen som følger:
$ git log --after='2019-11-01' --before='2019-11-08 '
Ovenstående kommando viser de tilsagn, der er foretaget mellem datoerne. Overvej nedenstående output:
Ovenstående output viser commits mellem den givne periode. Vi kan bruge --siden og --indtil i stedet for --efter og --før. For de er henholdsvis synonymer.
Af forfatter:
Vi kan filtrere commits efter en bestemt bruger. Antag, at vi kun ønsker at liste de tilsagn, der er foretaget af et bestemt teammedlem. Vi kan bruge -author flag til at filtrere commits efter forfatternavn. Denne kommando tager et regulært udtryk og returnerer listen over commits lavet af forfattere, der matcher det mønster. Du kan bruge det nøjagtige navn i stedet for mønsteret. Denne kommando vil køre som følger:
$ git log --author='Author name'
Ovenstående kommando vil vise alle commits lavet af den givne forfatter. Overvej nedenstående output:
Fra ovenstående output kan vi se, at alle forpligtelser fra forfatteren Jeg er Dwivedi1 er opført.
Vi kan bruge en streng i stedet for et regulært udtryk eller nøjagtigt navn. Overvej nedenstående udsagn:
$ git log --author='Stephen'
Ovenstående erklæring vil vise alle commits, hvis forfatter inkluderer navnet, Stephen. Forfatterens navn behøver ikke at være et nøjagtigt match; den har bare den angivne sætning.
Som vi ved, er forfatterens e-mail også involveret med forfatterens navn, så vi kan bruge forfatterens e-mail som mønster eller eksakt søgning. Antag, at vi ønsker at spore commits af forfattere, hvis e-mail-tjeneste er google. For at gøre det kan vi bruge jokertegn som '@gmail.com'. Overvej nedenstående udsagn:
$ git log -author='@gmail.com'
Ovenstående kommando vil vise commits af forfattere som angivet i mønsteret. Overvej nedenstående output:
Med commit besked:
For at filtrere commits efter commit-meddelelsen. Vi kan bruge grep-indstillingen, og den vil fungere som forfatterindstillingen.
Bourne igen shell
Det vil køre som følger:
$ git log --grep=' Commit message.'
Vi kan bruge den korte form for commit message i stedet for en komplet besked. Overvej nedenstående output.
Ovenstående output viser alle de commits, der indeholder ordet commit i sin commit-meddelelse.
Der er mange andre filtreringsmuligheder tilgængelige, som vi kan filtrere efter filnavn, indhold og mere.