Historiken och skillnaderna: git log och git diff
Det här lär du dig
Section titled “Det här lär du dig”- Att visa historiken med
git logochgit log --oneline. - Att se vad som ändrats med
git diff. - Skillnaden mellan
git diffochgit diff --staged.
Varför behövs det här?
Section titled “Varför behövs det här?”I modul 1 var det svårt att svara på frågor som vad ändrade jag i förrgår? eller vilken av filerna är den senaste?. Git kan svara på dem direkt, eftersom varje version är sparad med meddelande, författare och tidpunkt.
Så hänger det ihop
Section titled “Så hänger det ihop”Historiken är en kedja av commits. Varje commit pekar bakåt på commiten den bygger på. main är namnet på grenen du arbetar på, och den pekar alltid på den senaste commiten. Grenar kommer i modul 4.
git loggår bakåt i kedjan och visar commit för commit, med den nyaste först.git diffjämför två lägen och visar raderna som skiljer dem åt.
Exempel
Section titled “Exempel”git log
Section titled “git log”$ git logcommit 7620faca7ef53ba05c9856f3786908e8330c50f5Author: Kim Andersson <kim@example.com>Date: Tue Nov 3 10:42:00 2026 +0100
Lägg till dag 3: Gävle
commit 226c08c117ec6991065ec8c6580754c1af7097bdAuthor: Kim Andersson <kim@example.com>Date: Tue Nov 3 10:15:00 2026 +0100
Första versionen av resplanenDen kortare varianten visar en rad per commit:
$ git log --oneline7620fac Lägg till dag 3: Gävle226c08c Första versionen av resplanengit diff
Section titled “git diff”Ändra en fil, men kör inte git add än. Då visar git diff vad som skiljer arbetskatalogen från
den senast sparade versionen:
$ git diffdiff --git a/resplan.txt b/resplan.txtindex f2132e9..d9d77fc 100644--- a/resplan.txt+++ b/resplan.txt@@ -2,3 +2,4 @@ Resplan sommaren
Dag 1: Stockholm Dag 2: Uppsala+Dag 3: GävleRader som börjar med + har lagts till och rader som börjar med - har tagits bort. Rader utan tecken
är oförändrade och visas bara som sammanhang.
Övning
Section titled “Övning”Vanliga problem
Section titled “Vanliga problem”Testa dig själv
Section titled “Testa dig själv”Sammanfattning
Section titled “Sammanfattning”git logvisar historiken med den nyaste commiten först.git log --onelinevisar en rad per commit.git diffvisar ändringar som inte ligger i staging area än.git diff --stagedvisar det som kommer med i nästa commit.+betyder tillagd rad och-betyder borttagen rad.