Skip to content

Git best practices

Commit message

Een commit message is een korte beschrijving van de veranderingen die je hebt gemaakt. Een commit message is een korte zin die begint met een werkwoord in de verleden tijd. Bijvoorbeeld:

  • fix bug in login form
  • add new feature to login form
  • remove unused code from login form

Tip

Refereer in je commit aan een Gitlab-issue door de id bijv. #17 te vermelden in de commit message.

Documentatie

Commit messages zijn een onderdeel van de documentatie. In de commits van een project kun je zien wat, wanneer en door wie, er een verandering is doorgevoerd. Door een duidelijke beschrijving kun je de lezer van de ‘commit message’ informeren over deze verandering. Tips voor het verbeteren van je commit messages:

  • Spreek met je development team een commit convention af.
  • Houd je messages consistent. Controleer je spelling.
  • Gebruik de ‘Imperative Verb Form’ (gebiedende wijs). Bijvoorbeeld: ‘Add new King Character to Castle room’.

Conventional Commits

De meest gebruikte vorm van commits is deze vorm:

<type>[optional scope]: <description>
  • feat: feature
  • fix: bug fixes
  • docs: changes to the documentation like README
  • style: style or formatting change
  • perf: improves code performance
  • test: test a feature
  • chore: maintenance/configuration related
docs: add commit style guide

Bron: https://www.conventionalcommits.org/

Een voorbeeld van conventional commits: https://github.com/ONEARMY/community-platform/commits

Varianten

Bij sommige ontwikkelomgevingen heb je ook een koppeling mogelijkheid. Door het toevoegen van het ID van een story, kun je de commit message direct koppelen aan de gerelateerde story op je board. Dat ziet er ongeveer zo uit:

[ADV-01] Add new King Character to Castle room
Bij Gitlab kun je een verbinding leggen tussen je commit message en de gerelateerde story door middel van het story nummer met daarvoor een ‘hekje’ (#).
#1 Add new King Character to Castle room

Er zijn ook bedrijven die hun eigen commit conventie gebruiken, bijvoorbeeld GIT Kraken. Hun benadering ziet er ongeveer zo uit:

  • Feat– feature
  • Fix– bug fixes
  • Docs– changes to the documentation like README
  • Style– style or formatting change
  • Perf – improves code performance
  • Test– test a feature
  • Chore: maintenance/configuration related

Commit message template

Om ervoor te zorgen dat je commit messages consistent zijn, kun je een commit message template gebruiken. Een commit message template is een bestand met daarin een aantal regels die je kunt gebruiken om je commit message te schrijven. Je kunt een commit message template gebruiken door de volgende commando’s uit te voeren:

$ git config --global commit.template ~/.gitmessage
$ echo "Subject line" > ~/.gitmessage
$ echo >> ~/.gitmessage
$ echo "Multi-line description of commit," >> ~/.gitmessage
$ echo "feel free to be detailed." >> ~/.gitmessage
$ echo >> ~/.gitmessage
$ echo "Fixes #1" >> ~/.gitmessage