Professionele Git- en GitHub-werkwijze · Les

Git Hooks begrijpen

Ontdek de verschillende typen Git Hooks en op welke momenten ze in de Git-workflow worden uitgevoerd.

Les 1 van 412 stappen

Git Hooks begrijpen is een gratis Professionele Git- en GitHub-werkwijze-les op CoddyKit. Dit is les 1 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Professionele Git- en GitHub-werkwijze. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Professionele Git- en GitHub-werkwijze bevat in totaal 4 lessen.

Wat zijn Git Hooks?

Welkom bij Git Hooks! Git Hooks zijn krachtige, aanpasbare scripts die Git automatisch uitvoert vóór of na gebeurtenissen zoals committen, pushen of het ontvangen van gepushte commits.

Zie ze als geautomatiseerde controlepunten of acties in je Git-werkstroom. Ze helpen projectstandaarden af te dwingen, taken te automatiseren en met andere systemen te integreren.

Waar hooks staan

Elke Git-repository bevat een map .git/hooks. Daarin vind je voorbeeldscripts voor hooks (meestal eindigend op .sample).

Om een hook te activeren, verwijder je eenvoudig de extensie .sample en maak je het bestand uitvoerbaar. Git voert de hook dan op het juiste moment uit.

  • Locatie: .git/hooks/
  • Bestanden: Shellscripts (Bash, Python, Ruby enzovoort)
  • Activering: Hernoemen en uitvoerbaar maken

Client-side versus server-side

Git Hooks worden ingedeeld in twee hoofdtypen, afhankelijk van waar ze worden uitgevoerd:

  • Client-side hooks: Worden uitgevoerd op je lokale machine (bijvoorbeeld voordat je commit of een rebase uitvoert). Ze zijn bedoeld voor automatisering van je persoonlijke werkstroom en het afdwingen van lokaal beleid.
  • Server-side hooks: Worden uitgevoerd op de remote Git-server (bijvoorbeeld wanneer je code naar een gedeelde repository pusht). Ze dwingen projectbrede beleidsregels af voor iedereen.

Client-hook: pre-commit

De hook pre-commit is een van de meestgebruikte client-side hooks. Deze wordt uitgevoerd *voordat* Git officieel een commit maakt.

Als het script pre-commit wordt afgesloten met een status die niet nul is, breekt Git de commit af. Dat is ideaal voor taken zoals:

  • Code linten (controleren op stijlfouten)
  • Unittests uitvoeren
  • Controleren op grote bestanden of gevoelige gegevens

Client-hook: commit-msg

De hook commit-msg wordt uitgevoerd *nadat* je het commitbericht hebt ingevoerd, maar *voordat* de commit definitief wordt gemaakt.

Deze hook is handig om te controleren of je commitberichten specifieke conventies of indelingen volgen. Je kunt bijvoorbeeld controleren of:

  • Het bericht begint met een ticket-ID (bijvoorbeeld [JIRA-123])
  • De lengte van het bericht binnen de limieten valt
  • Bepaalde trefwoorden wel of niet aanwezig zijn

Client-hook: post-commit

De hook post-commit wordt *onmiddellijk nadat* een commit succesvol is gemaakt, uitgevoerd.

In tegenstelling tot pre-commit of commit-msg kan deze hook de uitkomst van de commit niet meer wijzigen. Hij wordt vaak gebruikt voor meldingen of integraties, bijvoorbeeld voor:

  • Teamleden op de hoogte brengen
  • Een projectmanagementtool bijwerken
  • Een build voor continue integratie (CI) starten (hoewel dit vaker met server-side hooks gebeurt)

Serverhook: pre-receive

Bij serverhooks wordt pre-receive uitgevoerd voordat verwijzingen, zoals branches of tags, in de externe repository worden bijgewerkt.

Deze hook is krachtig voor het afdwingen van belangrijke repositorybeleidsregels, zoals:

  • Directe pushes naar de branch main voorkomen
  • Ervoor zorgen dat alle commits zijn ondertekend
  • De identiteit van de committer valideren

Als deze hook eindigt met een status die niet nul is, wordt de volledige push geweigerd.

Serverhook: post-receive

De hook post-receive wordt uitgevoerd nadat een push de verwijzingen in de externe repository succesvol heeft bijgewerkt.

Net als post-commit kan deze hook de push niet weigeren. Deze wordt vaak gebruikt voor:

  • CI/CD-pijplijnen starten
  • Externe issue-trackers bijwerken
  • E-mailmeldingen naar het team versturen
  • Code implementeren in een stagingomgeving

Een eenvoudige hook maken

Om een hook te maken, maakt u eenvoudig een bestand met de naam van de hook, bijvoorbeeld pre-commit, in de map .git/hooks/. Laten we een heel eenvoudige hook maken:

#!/bin/sh

# This pre-commit hook will always succeed
echo "Running pre-commit hook..."
exit 0

Hooks uitvoerbaar maken

Nadat u het hookscript hebt gemaakt, moet u het uitvoerbaar maken. Anders voert Git het niet uit. Gebruik de opdracht chmod in uw terminal:

chmod +x .git/hooks/pre-commit

Elke keer dat u nu een commit probeert te maken, voert Git dit script uit!

Snelle controle: timing van hooks

Git-hooks worden op specifieke momenten in uw werkstroom uitgevoerd. Als u begrijpt wanneer dat gebeurt, kunt u ze effectief gebruiken.

Samenvatting: Git-hooks begrijpen

U hebt uw eerste stap gezet in de krachtige wereld van Git-hooks!

  • Git-hooks zijn scripts die acties automatiseren tijdens Git-gebeurtenissen.
  • Ze staan in de map .git/hooks/ van uw repository.
  • Hooks zijn client-side (op de lokale machine) of server-side (in de externe repository).
  • Belangrijke hooks zoals pre-commit en pre-receive kunnen beleidsregels afdwingen door bewerkingen te blokkeren.
  • Hooks zoals post-commit en post-receive zijn bedoeld voor meldingen of integraties na een actie.

Vervolgens gaan we praktische voorbeelden van specifieke hooks implementeren!

Gratis beginnen

Leer Professionele Git- en GitHub-werkwijze met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
12
Lessen
48

Veelgestelde vragen

Is de les “Git Hooks begrijpen” gratis?

Ja — de volledige tekst van “Git Hooks begrijpen” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus Professionele Git- en GitHub-werkwijze wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus Professionele Git- en GitHub-werkwijze bevat in totaal 4 lessen.

Wat leer ik in “Git Hooks begrijpen”?

Ontdek de verschillende typen Git Hooks en op welke momenten ze in de Git-workflow worden uitgevoerd. Je oefent met Professionele Git- en GitHub-werkwijze door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met Professionele Git- en GitHub-werkwijze te beginnen?

Ervaring vooraf is niet nodig. Professionele Git- en GitHub-werkwijze op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 1 van 4.

Hoe lang duurt de les “Git Hooks begrijpen”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over Professionele Git- en GitHub-werkwijze?

Ja. Elke les over Professionele Git- en GitHub-werkwijze bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. Git Hooks begrijpen
  2. Pre-commit- en post-merge-hooks
  3. Git-configuratie aanpassen
  4. Hooks delen met Husky
← Terug naar Professionele Git- en GitHub-werkwijze