Hoppa till innehåll

Git

Ett program som sparar versioner av filerna i ett projekt, så att man kan se vad som ändrats, gå tillbaka till tidigare versioner och arbeta flera samtidigt.

Kategori
Git

Enkel förklaring

Många har sparat filer som rapport.docx, rapport-ny.docx och rapport-slutlig-2.docx för att inte tappa bort tidigare versioner. Det blir snabbt rörigt: vilken fil är den senaste, och vad ändrades?

Git gör samma sak, men ordnat. Du arbetar i dina vanliga filer, och när du vill spara en version ber du Git om det. Git kommer ihåg varje sparad version, vad som ändrades, vem som gjorde det och när. Du kan när som helst titta på en gammal version eller gå tillbaka till den.

Det här kallas versionshantering: att hålla ordning på versioner av filer.

Teknisk förklaring

Git är ett distribuerat versionshanteringssystem. Distribuerat betyder att varje kopia av ett projekt innehåller hela historiken, inte bara den senaste versionen. Man behöver alltså ingen server för att se historiken eller spara nya versioner.

Git sparar en ögonblicksbild (snapshot) av alla filer varje gång man sparar en version, en commit. Oförändrade filer lagras inte på nytt. Git pekar bara på den tidigare kopian. Varje commit får ett id som räknas fram ur innehållet (en hash), så att en sparad version inte kan ändras i smyg.

Ett projekt som Git håller ordning på kallas ett repository.

Praktiskt exempel

Allt material i Kodkollektivet Academy, kurserna och det här lexikonet inräknade, finns i Git. Varje ändring sparas som en commit med en beskrivning, och historiken visar exakt vem som ändrade vad och när. En kopia av projektet finns på Kodkollektivets server, i tjänsten Forgejo, och en hos varje person som arbetar med det.

Så ser några sparade versioner ut när man listar dem:

7620fac Lägg till dag 3: Gävle
226c08c Första versionen av resplanen

När och varför används det?

Git används nästan överallt där man skriver programkod, men fungerar för alla sorters textfiler, till exempel dokumentation och kursmaterial.

Git behövs så fort mer än en person ändrar samma filer, eller när en person och en AI-agent gör det. Det behövs också när man själv vill kunna gå tillbaka till en version som fungerade.

Vanliga missförstånd

  • “Git och GitHub (eller Forgejo) är samma sak.” Nej. Git är programmet som håller ordning på versionerna, och det fungerar helt utan internet. GitHub, GitLab och Forgejo är tjänster som lagrar Git-projekt på en server och lägger till samarbetsfunktioner.
  • “Git sparar automatiskt.” Nej. Git sparar en version först när du ber om det.
  • “Git är bara för programmerare.” Nej. Git fungerar för alla textfiler, och den här kursen kräver inga programmeringskunskaper.

Relaterade begrepp