logo

Git-logboek

Het voordeel van een versiebeheersysteem is dat het wijzigingen vastlegt. Met deze records kunnen we de gegevens ophalen, zoals commits, het uitzoeken van bugs en updates. Maar de hele geschiedenis zal nutteloos zijn als we er niet doorheen kunnen navigeren. Op dit punt hebben we het git log commando nodig.

Git log is een hulpprogramma waarmee u de geschiedenis van alles wat er met een repository gebeurt, kunt bekijken en lezen. Er kunnen meerdere opties worden gebruikt met een git log om de geschiedenis specifieker te maken.

Over het algemeen is het git-logboek een record van commits. Een git-log bevat de volgende gegevens:

    Een commit-hash, dit zijn controlesomgegevens van 40 tekens die zijn gegenereerd door het SHA-algoritme (Secure Hash Algorithm). Het is een uniek nummer.Metagegevens van auteur vastleggen: De informatie van auteurs, zoals auteursnaam en e-mailadres.Metagegevens van de datum van vastlegging: Het is een datum-tijdstempel voor het tijdstip van de commit.Titel/bericht van de commit: Het is het overzicht van de commit dat in het commit-bericht wordt gegeven.

Hoe verlaat ik het git log-commando?

Er kan zich een situatie voordoen, je voert het git log commando uit, en je blijft daar hangen. Je wilt typen of teruggaan naar bash, maar dat lukt niet. Wanneer u op de Binnenkomen -toets, navigeert u naar het oudere commando tot aan de eindvlag.

De oplossing voor dit probleem is druk op de q (Q voor stoppen) . Het zal u uit de situatie halen en u terugbrengen naar de opdrachtregel. Nu kunt u elk van de opdrachten uitvoeren.

Basis Git-logboek

Git log-commando is een van de meest gebruikelijke commando's van git. Het is het nuttigste commando voor Git. Elke keer dat je de geschiedenis moet controleren, moet je het git log commando gebruiken. Het standaard git log commando zal de meest recente commits en de status van het hoofd weergeven. Het zal gebruiken als:

 $ git log 

Met het bovenstaande commando worden de laatste commits weergegeven. Beschouw de onderstaande uitvoer:

Git-logboek

Het bovenstaande commando geeft een overzicht van alle recente commits. Elke commit bevat een unieke sha-id, die wordt gegenereerd door het SHA-algoritme. Het bevat ook de datum, tijd, auteur en enkele aanvullende details.

We kunnen een aantal acties uitvoeren, zoals scrollen, springen, verplaatsen en stoppen op de opdrachtregel. Om op de opdrachtregel te scrollen, drukt u op k om omhoog te gaan, j om omlaag te gaan, de spatiebalk om een ​​volledige pagina omlaag te scrollen om een ​​pagina omhoog te scrollen en q om de opdrachtregel te verlaten.

<

Git Log Oneline

De oneline-optie wordt gebruikt om de uitvoer weer te geven als één commit per regel. Het toont ook de uitvoer in het kort, zoals de eerste zeven tekens van de commit SHA en het commit-bericht.

Het zal als volgt worden gebruikt:

 $ git log --oneline 

Dus meestal kunnen we zeggen dat de --oneline vlag ervoor zorgt dat git log wordt weergegeven:

  • één commit per regel
  • de eerste zeven karakters van de SHA
  • het commit-bericht

Beschouw de onderstaande uitvoer:

Gitlogboek 1

Zoals we nauwkeuriger kunnen zien uit de bovenstaande uitvoer, wordt elke commit slechts op één regel gegeven met een zevencijferig sha-nummer en een commit-bericht.

Git Logstat

Met de opdracht log worden de bestanden weergegeven die zijn gewijzigd. Het toont ook het aantal regels en een samenvattingsregel van het totaal aantal records dat is bijgewerkt.

Over het algemeen kunnen we zeggen dat de stat-optie wordt gebruikt om weer te geven

hoe je een array in Java maakt
  • de gewijzigde bestanden,
  • Het aantal regels dat is toegevoegd of verwijderd
  • Een samenvattingsregel van het totale aantal gewijzigde records
  • De regels die zijn toegevoegd of verwijderd.

Het zal als volgt worden gebruikt:

 $ git log --stat 

Met de bovenstaande opdracht worden de bestanden weergegeven die zijn gewijzigd. Beschouw de onderstaande uitvoer:

Gitlogboek 2

Uit de bovenstaande uitvoer kunnen we zien dat alle genoemde commits wijzigingen in de repository zijn.

Git log P of Patch

Het git log patch commando geeft de bestanden weer die zijn gewijzigd. Het toont ook de locatie van de toegevoegde, verwijderde en bijgewerkte regels.

Het zal worden gebruikt als:

 $ git log --patch 

Of

 $ git log -p 

Over het algemeen kunnen we zeggen dat de vlag --patch wordt gebruikt om het volgende weer te geven:

hoe het csv-bestand in Java te lezen
  • Gewijzigde bestanden
  • De locatie van de regels die u hebt toegevoegd of verwijderd
  • Specifieke wijzigingen die zijn aangebracht.

Beschouw de onderstaande uitvoer:

Gitlogboek 3

De bovenstaande uitvoer toont de gewijzigde bestanden met de locatie van regels die zijn toegevoegd of verwijderd.


Git Log-grafiek

Met het Git log-commando kun je je git-log als een grafiek bekijken. Om de commits in de vorm van een grafiek weer te geven, voer je het git log commando uit met de --graph optie. Het zal als volgt verlopen:

 $ git log --graph 

Om de uitvoer specifieker te maken, kunt u deze opdracht combineren met de optie --oneline. Het zal als volgt werken:

 $ git log --graph --oneline 

De commitgeschiedenis filteren

We kunnen de output filteren op basis van onze behoeften. Het is een uniek kenmerk van Git. We kunnen veel filters toepassen, zoals bedrag, datum, auteur en meer op de uitvoer. Elk filter heeft zijn specificaties. Ze kunnen worden gebruikt voor het implementeren van bepaalde navigatiebewerkingen op de uitvoer.

Laten we elk van deze filters in detail begrijpen.

Per bedrag:

We kunnen het aantal uitvoercommits beperken door het git log commando te gebruiken. Het is het meest specifieke commando. Dit commando zal de complexiteit wegnemen als je geïnteresseerd bent in minder commits.

Om de uitvoer van het git log te beperken, inclusief de - optie. Als we alleen de laatste drie commits willen, dan kunnen we het argument -3 doorgeven in het git log commando. Beschouw de onderstaande uitvoer:

Gitlogboek 4

Zoals we uit de bovenstaande uitvoer kunnen zien, kunnen we de uitvoer van git log beperken.

Op datum en tijd:

We kunnen de uitvoer filteren op datum en tijd. Wij moeten passeren --na of -voor argument om de datum op te geven. Deze beide argumenten accepteren verschillende datumformaten. Het zal als volgt verlopen:

 $ git log --after=&apos;yy-mm-dd&apos; 

Met het bovenstaande commando worden alle commits weergegeven die na de opgegeven datum zijn gemaakt. Beschouw de onderstaande uitvoer:

Gitlogboek 5

Het bovenstaande commando geeft een overzicht van alle commits na '2019-11-01'.

We kunnen ook de toepasselijke referentieverklaring doorgeven, zoals 'gisteren', '1 week geleden', '21 dagen geleden' en meer. Het zal draaien als:

 git log --after=&apos;21 days ago&apos; 

Met het bovenstaande commando worden de commits weergegeven die 21 dagen geleden zijn gemaakt. Beschouw de onderstaande uitvoer:

Gitlogboek 6

We kunnen ook de commits tussen twee datums volgen. Om de commits bij te houden die tussen twee datums zijn gemaakt, geeft u een instructiereferentie door --voor En --na de datum. Stel dat we de commits tussen '2019-11-01' en '2019-11-08' willen volgen. We zullen de opdracht als volgt uitvoeren:

 $ git log --after=&apos;2019-11-01&apos; --before=&apos;2019-11-08 &apos; 

Met het bovenstaande commando worden de commits weergegeven die tussen de datums zijn gemaakt. Beschouw de onderstaande uitvoer:

Gitlogboek 7

De bovenstaande uitvoer toont de commits tussen de gegeven periode. We kunnen --since en --until gebruiken in plaats van --after en --before. Omdat het respectievelijk synoniemen zijn.

Door auteur:

We kunnen de commits filteren op een bepaalde gebruiker. Stel dat we de toezeggingen willen weergeven die alleen door een bepaald teamlid zijn gedaan. We kunnen de vlag -author gebruiken om de commits op auteursnaam te filteren. Deze opdracht gebruikt een reguliere expressie en retourneert de lijst met commits die zijn gemaakt door auteurs die met dat patroon overeenkomen. U kunt de exacte naam gebruiken in plaats van het patroon. Deze opdracht wordt als volgt uitgevoerd:

 $ git log --author=&apos;Author name&apos; 

Het bovenstaande commando zal alle commits weergeven die door de gegeven auteur zijn gemaakt. Beschouw de onderstaande uitvoer:

Gitlog 8

Uit de bovenstaande uitvoer kunnen we zien dat alle commits door de auteur zijn gemaakt Ik ben Dwivedi1 zijn vermeld.

We kunnen een string gebruiken in plaats van een reguliere expressie of exacte naam. Beschouw de onderstaande verklaring:

 $ git log --author=&apos;Stephen&apos; 

De bovenstaande verklaring zal alle commits weergeven waarvan de auteur de naam Stephen bevat. De naam van de auteur hoeft niet exact overeen te komen; het heeft alleen de opgegeven zin.

Zoals we weten, is het e-mailadres van de auteur ook betrokken bij de naam van de auteur, zodat we het e-mailadres van de auteur als patroon of exacte zoekopdracht kunnen gebruiken. Stel dat we de commits willen volgen van de auteurs wiens e-mailservice Google is. Om dit te doen, kunnen we jokertekens gebruiken als '@gmail.com.' Beschouw de onderstaande verklaring:

 $ git log -author=&apos;@gmail.com&apos; 

Het bovenstaande commando zal de commits van auteurs weergeven zoals aangegeven in het patroon. Beschouw de onderstaande uitvoer:

Gitlogboek 9

Via een commit-bericht:

Om de commits te filteren op het commit-bericht. We kunnen de grep-optie gebruiken, en deze zal werken als de auteursoptie.

Het zal als volgt verlopen:

 $ git log --grep=&apos; Commit message.&apos; 

We kunnen de korte vorm van een commit-bericht gebruiken in plaats van een volledig bericht. Beschouw de onderstaande uitvoer.

hoeveel steden zijn er in ons
Gitlogboek 10

De bovenstaande uitvoer toont alle commits die het woord commit in het commit-bericht bevatten.

Er zijn veel andere filteropties beschikbaar, zoals we kunnen filteren op bestandsnaam, inhoud en meer.