Fördelen med ett versionskontrollsystem är att det registrerar ändringar. Dessa register tillåter oss att hämta data som commits, ta reda på buggar, uppdateringar. Men all denna historia kommer att vara värdelös om vi inte kan navigera i den. Vid det här laget behöver vi git log-kommandot.
Git log är ett verktyg för att granska och läsa en historik över allt som händer med ett arkiv. Flera alternativ kan användas med en git-logg för att göra historien mer specifik.
Generellt sett är git-loggen ett register över commits. En git-logg innehåller följande data:
Hur avslutar jag git log-kommandot?
Det kan finnas en situation som uppstår, du kör kommandot git log och du fastnade där. Du vill skriva eller gå tillbaka till bash, men du kan inte. När du klickar på Stiga på tangenten, kommer den att navigera dig till det äldre kommandot tills slutflaggan.
Lösningen på detta problem är att Tryck de q (Q för att avsluta) . Det kommer att lämna dig från situationen och tillbaka dig till kommandoraden. Nu kan du utföra något av kommandona.
Grundläggande Git-logg
Git log-kommandot är ett av de vanligaste kommandona för git. Det är det mest användbara kommandot för Git. Varje gång du behöver kontrollera historiken måste du använda kommandot git log. Det grundläggande git-loggkommandot kommer att visa de senaste commits och statusen för huvudet. Det kommer att användas som:
$ git log
Ovanstående kommando visar de senaste commits. Tänk på följande utdata:
Kommandot ovan listar alla de senaste commits. Varje commit innehåller något unikt sha-id, som genereras av SHA-algoritmen. Den innehåller också datum, tid, författare och några ytterligare detaljer.
Vi kan utföra vissa åtgärder som att rulla, hoppa, flytta och avsluta på kommandoraden. För att rulla på kommandoraden, tryck på k för att flytta uppåt, j för att flytta nedåt, mellanslagstangenten för att rulla ned en hel sida för att rulla uppåt en sida och q för att avsluta från kommandoraden.
<Git Log Oneline
Oneline-alternativet används för att visa utdata som en commit per rad. Den visar också utdata i korthet som de första sju tecknen i commit SHA och commit-meddelandet.
Den kommer att användas enligt följande:
$ git log --oneline
Så vanligtvis kan vi säga att --oneline-flaggan gör att git-loggen visas:
- en commit per rad
- de första sju karaktärerna i SHA
- commit-meddelandet
Tänk på följande utdata:
Som vi kan se mer exakt från ovanstående utdata, ges varje commit endast på en rad med ett sjusiffrigt sha-nummer och commit-meddelande.
Git Log Stat
Loggkommandot visar filerna som har ändrats. Den visar också antalet rader och en sammanfattning av de totala poster som har uppdaterats.
Generellt kan vi säga att stat-alternativet används för att visa
alfabetet efter nummer
- de ändrade filerna,
- Antalet rader som har lagts till eller tagits bort
- En sammanfattningsrad av det totala antalet ändrade poster
- Raderna som har lagts till eller tagits bort.
Den kommer att användas enligt följande:
$ git log --stat
Kommandot ovan kommer att visa filerna som har ändrats. Tänk på följande utdata:
Från ovanstående utdata kan vi se att alla listade commits är modifieringar i arkivet.
Git log P eller Patch
Kommandot git log patch visar filerna som har ändrats. Den visar också platsen för de tillagda, borttagna och uppdaterade raderna.
Det kommer att användas som:
$ git log --patch
Eller
$ git log -p
Generellt kan vi säga att --patch-flaggan används för att visa:
- Ändrade filer
- Platsen för raderna som du har lagt till eller tagit bort
- Specifika ändringar som har gjorts.
Tänk på följande utdata:
Ovanstående utdata visar de modifierade filerna med platsen för rader som har lagts till eller tagits bort.
Git Log Graph
Git log-kommandot låter dig se din git-logg som en graf. För att lista commits i form av en graf, kör kommandot git log med --graph-alternativet. Det kommer att köras enligt följande:
$ git log --graph
För att göra utdata mer specifik kan du kombinera detta kommando med --oneline-alternativet. Det kommer att fungera enligt följande:
förlängningsfil java
$ git log --graph --oneline
Filtrera Commit History
Vi kan filtrera resultatet efter våra behov. Det är en unik egenskap hos Git. Vi kan använda många filter som mängd, datum, författare och mer på utdata. Varje filter har sina specifikationer. De kan användas för att implementera vissa navigeringsoperationer på utdata.
Låt oss förstå vart och ett av dessa filter i detalj.
Efter belopp:
Vi kan begränsa antalet output commit genom att använda git log kommando. Det är det mest specifika kommandot. Detta kommando tar bort komplexiteten om du är intresserad av färre commits.
För att begränsa git-loggens utdata, inklusive alternativet -. Om vi bara vill ha de tre sista commit, så kan vi skicka argumentet -3 i git log-kommandot. Tänk på följande utdata:
Som vi kan se från ovanstående utdata kan vi begränsa utmatningen av git log.
Efter datum och tid:
Vi kan filtrera resultatet efter datum och tid. Vi måste passera --efter eller -innan argument för att ange datum. Dessa båda argument accepterar en mängd olika datumformat. Det kommer att köras enligt följande:
$ git log --after='yy-mm-dd'
Ovanstående kommando kommer att visa alla åtaganden som gjorts efter det givna datumet. Tänk på följande utdata:
Kommandot ovan listar alla commits efter '2019-11-01'.
Vi kan också skicka det tillämpliga referensmeddelandet som 'igår', '1 vecka sedan', '21 dagar sedan' och mer. Det kommer att köras som:
git log --after='21 days ago'
Ovanstående kommando kommer att visa commits som har gjorts för 21 dagar sedan. Tänk på följande utdata:
Vi kan också spåra åtaganden mellan två datum. För att spåra commits som skapades mellan två datum, skicka en uttalandereferens --innan och --efter datumet. Anta att vi vill spåra commits mellan '2019-11-01' och '2019-11-08'. Vi kör kommandot enligt följande:
java lägga till i en array
$ git log --after='2019-11-01' --before='2019-11-08 '
Kommandot ovan kommer att visa de åtaganden som gjorts mellan datumen. Tänk på följande utdata:
Ovanstående utdata visar commits mellan den givna perioden. Vi kan använda --sedan och --tills istället för --efter och --före. Eftersom de är synonymer, respektive.
Av författare:
Vi kan filtrera commits efter en viss användare. Anta att vi bara vill lista de åtaganden som gjorts av en viss gruppmedlem. Vi kan använda -author flag för att filtrera commits efter författarens namn. Detta kommando tar ett reguljärt uttryck och returnerar listan över commits som gjorts av författare som matchar det mönstret. Du kan använda det exakta namnet istället för mönstret. Detta kommando kommer att köras enligt följande:
$ git log --author='Author name'
Ovanstående kommando kommer att visa alla commits som gjorts av den givna författaren. Tänk på följande utdata:
Från ovanstående utdata kan vi se att alla åtaganden av författaren Jag är Dwivedi1 är listade.
Vi kan använda en sträng istället för ett reguljärt uttryck eller exakt namn. Tänk på följande uttalande:
$ git log --author='Stephen'
Ovanstående uttalande kommer att visa alla commits vars författare inkluderar namnet, Stephen. Författarens namn behöver inte vara en exakt matchning; den har bara den angivna frasen.
Som vi vet är författarens e-post också inblandat med författarens namn, så att vi kan använda författarens e-post som mönster eller exakt sökning. Anta att vi vill spåra commits av författare vars e-posttjänst är google. För att göra det kan vi använda jokertecken som '@gmail.com'. Tänk på följande uttalande:
$ git log -author='@gmail.com'
Kommandot ovan kommer att visa författarnas commits enligt mönstret. Tänk på följande utdata:
By Commit-meddelande:
För att filtrera commits efter commit-meddelandet. Vi kan använda alternativet grep, och det kommer att fungera som författaralternativ.
Det kommer att köras enligt följande:
$ git log --grep=' Commit message.'
Vi kan använda den korta formen av commit-meddelande istället för ett komplett meddelande. Tänk på utgången nedan.
Ovanstående utdata visar alla commits som innehåller ordet commit i sitt commit-meddelande.
Det finns många andra filtreringsalternativ som vi kan filtrera efter filnamn, innehåll och mer.