Hoppa till innehåll

Spara en version: git commit

  • Att spara en version med git commit.
  • Vad en commit innehåller.
  • Att skriva ett commit-meddelande som går att förstå efteråt.

I modul 1 sparade du versioner genom att kopiera filer och hitta på nya namn. Med Git är varje version en commit: en ögonblicksbild av projektet med en beskrivning av vad som ändrats, vem som gjorde det och när. Du behöver aldrig mer hitta på filnamn som resplan-slutlig-2.txt.

git commit tar allt som ligger i staging area och sparar det som en ny version i repositoryt. Varje commit innehåller:

  • ögonblicksbilden: hur alla filer i projektet såg ut just då
  • meddelandet: din beskrivning av ändringen
  • författaren: namnet och e-postadressen du ställde in i modul 2
  • tidpunkten
  • föregående commit: commiten den bygger på. Det är så historiken hänger ihop.

Git ger varje commit ett unikt id, en lång kombination av siffror och bokstäver som 226c08c117ec…. Oftast räcker de första sju tecknen, 226c08c, för att peka ut den.

Med -m skriver du meddelandet direkt i kommandot:

Terminal
$ git commit -m "Första versionen av resplanen"
[main (root-commit) 226c08c] Första versionen av resplanen
1 file changed, 4 insertions(+)
create mode 100644 resplan.txt

Git svarar med grenen (main), början på id:t (226c08c) och hur mycket som ändrats: en fil och fyra nya rader. root-commit betyder att det är den allra första commiten i repositoryt.

Efter commiten finns inget kvar att spara:

Terminal
$ git status
On branch main
nothing to commit, working tree clean

Ett bra meddelande säger vad ändringen gör, så att du förstår det om ett halvår:

Mindre bra Bättre
ändringar Lägg till dag 3: Gävle
fix Rätta stavningen av Västerås
asdf Flytta Uppsala till dag 2

Skriv i imperativ, som en uppmaning: Lägg till, Rätta, Ta bort. Håll första raden kort, gärna under 50 tecken.

1. Du har ändrat resplan.txt men inte kört git add. Vad sparas om du kör git commit -m "Ny dag"?
Visa rätt svar
  • Ingenting – Git säger att inga ändringar är utvalda: git commit sparar bara det som ligger i staging area.
2. Vilket commit-meddelande är bäst?
Visa rätt svar
  • Lägg till dag 3: Gävle: Det säger exakt vad ändringen gör.
3. Vilket av följande ingår i en commit? (Välj alla som stämmer)
Visa rätt svar
  • En ögonblicksbild av filerna
  • Författarens namn och e-post
  • En hänvisning till föregående commit

  • git commit -m "meddelande" sparar det som ligger i staging area som en ny version.
  • En commit innehåller ögonblicksbilden, meddelandet, författaren, tidpunkten och föregående commit.
  • Varje commit har ett unikt id. Oftast räcker de sju första tecknen.
  • Ett bra meddelande säger vad ändringen gör, i imperativ: Lägg till dag 3: Gävle.