Commit
En sparad version av projektet i Git, med en beskrivning av vad som ändrats, vem som gjorde det och när.
- Kallas även
- incheckning
- Kategori
- Git
Commit, incheckning, incheckningar, commits, committa
Enkel förklaring
En commit är en sparad version av ditt projekt. När du har gjort en ändring som du är nöjd med, ber du Git att spara den som en commit och skriver en kort beskrivning, till exempel Lägg till dag 3: Gävle.
Alla commits bildar tillsammans projektets historik, som en logg över varje sparad version. Committa betyder att spara en commit. I Forgejos svenska gränssnitt kallas en commit ibland incheckning.
Teknisk förklaring
En commit innehåller:
- en ögonblicksbild av hur alla filer i projektet såg ut
- ett meddelande som beskriver ändringen
- författaren (namn och e-post) och tidpunkten
- en hänvisning till föregående commit, och det är så historiken hänger ihop
Varje commit får ett unikt id som räknas fram ur innehållet (en hash), till exempel 226c08c. Ändras
något i en commit blir id:t ett annat, så en sparad version kan inte ändras utan att det märks.
Innan en commit väljer man ut vilka ändringar som ska ingå med git add. De samlas i ett mellanläge som
kallas staging area.
Praktiskt exempel
$ git add resplan.txt$ git commit -m "Lägg till dag 3: Gävle"[main 7620fac] Lägg till dag 3: Gävle 1 file changed, 1 insertion(+)Git svarar med grenen (main), början på id:t (7620fac) och hur mycket som ändrades.
När och varför används det?
En commit görs varje gång man har nått ett läge som är värt att spara: en avslutad del av arbetet, en rättad bugg eller en ny lektion.
Rekommendation:
- Gör små commits som hör ihop, hellre fler än en stor.
- Skriv meddelandet som en uppmaning som säger vad ändringen gör: Rätta stavningen av Västerås, inte ändringar.
- Spara aldrig lösenord eller andra hemligheter i en commit. De finns kvar i historiken även om filen tas bort senare.
Vanliga missförstånd
- “En commit skickar ändringen till servern.” Nej. En commit sparas bara i ditt lokala
repository. Till servern skickas den först med
git push. - “En commit sparar bara de ändrade raderna.” En commit beskriver hela projektets läge. Git lagrar det ändå effektivt, eftersom oförändrade filer inte sparas på nytt.
- “Man kan ändra en gammal commit i efterhand.” Man kan bara skapa nya commits som ersätter eller ångrar gamla. Den gamla ändras aldrig.
Relaterade begrepp
I kurserna
- KKA-001 Git och versionshanteringUnder uppbyggnad
- Spara en version: git commit
Förekommer i
- Det versionshantering löser
- Namn, e-post och inställningar
- Gits tre områden
- Spara en version: git commit
- Historiken och skillnaderna: git log och git diff
- Filer som Git ska strunta i: .gitignore
- Övning: resplanen med Git
- Vad är en branch?
- Skapa och växla: git branch och git switch
- Slå ihop: git merge
- Modul 8: SlutprojektUnder uppbyggnad