Commit-meddelanden
Nedan följer några “best practices” för att skriva bra commit-meddelanden. Försök att följa de enklare reglerna redan från början så slipper du lära om längre fram!
Grundregel: Längd
Section titled “Grundregel: Längd”Håll det kort — 50 tecken eller färre.
Bra:
git commit -m "Add salt before the password is hashed"Undvik:
git commit -m "Add a salt (makes it harder to make rainbow table attacks) before passwords are being hashed"Grundregel: Format
Section titled “Grundregel: Format”Versal begynnelsebokstav, en välformulerad mening, utan avslutande punkt.
Bra:
git commit -m "Add salt before the password is hashed"git commit -m "Fix bug where the password is truncated"git commit -m "Add JSDoc for hashPassword"git commit -m "Fix linting errors"Undvik:
git commit -m "add salt before passwords are hashed."Grundregel: Språk
Section titled “Grundregel: Språk”Skriv commit-meddelanden på engelska. Under utbildningen accepteras även svenska, men tänk på att engelska är standardspråket inom IT-branschen — så varför inte träna på vanan redan nu?
Bra:
git commit -m "Add salt before the password is hashed"Undvik:
git commit -m "Lägger till ett salt innan lösenordet hashas"Grundregel: Tempus
Section titled “Grundregel: Tempus”Skriv commit-meddelanden i imperativ form — som en instruktion, ungefär som “Öppna boken.” eller “Skriv en anteckning.” Meddelandet ska alltid kunna fylla i följande mening:
Denna commit kommer att…
Bra:
git commit -m "Add salt before the password is hashed"git commit -m "Fix bug where the password is truncated"git commit -m "Add JSDoc for hashPassword"git commit -m "Fix linting errors"Undvik:
git commit -m "Adds salt before the password is hashed"git commit -m "Fixing bug where the password is truncated"git commit -m "Added JSDoc for hashPassword"git commit -m "Fixed some linting errors"git commit -m "Adding salt before the password is hashed"Grundregel: Frekvens
Section titled “Grundregel: Frekvens”Försök att committa så ofta som möjligt. Med tiden hittar du och ditt team en lagom frekvens, men i början är oftare bättre. Några tumregler att börja med:
- Committa inte utifrån tid (till exempel var tionde minut).
- Committa när du slutfört en avgränsad del (t.ex. en fungerande funktion/metod).
- Har du svårt att beskriva ändringen i ett enda meddelande har du sannolikt ändrat för mycket sedan senaste commit.
- Har du tre buggar att fixa? Det är sannolikt tre separata commits.
Fördjupning: Lägg till en beskrivning
Section titled “Fördjupning: Lägg till en beskrivning”En commit kan ha både en kort sammanfattningsrad och en längre beskrivning som förklarar varför
ändringen gjordes. Lägg till en andra -m-flagga för att ge commiten en utökad beskrivning:
git commit -m "Add salt before the password is hashed" -m "Prevents rainbow table attacks against stored password hashes"Fördjupning: Referera till issues
Section titled “Fördjupning: Referera till issues”Du kan referera till ett issue-nummer i commit-meddelandet för att koppla ihop ändringen med ärendet i GitLab:
git commit -m "Add salt before the password. Refs #12"Fördjupning: Stäng issues automatiskt
Section titled “Fördjupning: Stäng issues automatiskt”När en commit slutför ett issue kan du referera till det med nyckelord som “Fixes” eller “Closes” i commit-meddelandet. GitLab stänger då automatiskt issuet:
git commit -m "Add salt before the password. Closes #12"Läs mer: Closing issues automatically (GitLab Docs).
Fördjupning: Studera andra projekt
Section titled “Fördjupning: Studera andra projekt”Ett bra sätt att lära sig är att titta på hur erfarna utvecklare gör. Bläddra igenom kända open source-projekt på GitHub för att få en känsla för hur commit-meddelanden skrivs i praktiken:
- GitHub: Angular (Google)
- GitHub: VSCode (Microsoft)
- GitHub: React Native (Meta)
Du kommer att se att en del bryter mot reglerna ovan — bli inte du en av dem.
Fördjupning: Låt AI föreslå ett commit-meddelande
Section titled “Fördjupning: Låt AI föreslå ett commit-meddelande”En AI-assistent kan formulera om en stagad ändring till ett commit-meddelande som följer reglerna ovan — men bara om den faktiskt kan se vad du har ändrat. Två sätt att uppfylla den förutsättningen:
- GitHub Copilot i VS Code: öppna Source Control-panelen (Ctrl+Shift+G / Cmd+Shift+G) och klicka på sparkle-ikonen ovanför meddelanderutan. Copilot läser då din stagade diff automatiskt och föreslår ett meddelande — inga extra steg krävs utöver att du redan har Copilot installerat (se AI-assistenter).
- Chattbaserad assistent (Claude, ChatGPT, med flera): kopiera utskriften från
git diff --stagedoch klistra in den i chatten tillsammans med en instruktion om att skriva ett kort, imperativt commit-meddelande på engelska enligt reglerna ovan.