Git Hooks begrijpen
Ontdek de verschillende typen Git Hooks en op welke momenten ze in de Git-workflow worden uitgevoerd.
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
mainvoorkomen - 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 0Hooks 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-commitenpre-receivekunnen beleidsregels afdwingen door bewerkingen te blokkeren. - Hooks zoals
post-commitenpost-receivezijn bedoeld voor meldingen of integraties na een actie.
Vervolgens gaan we praktische voorbeelden van specifieke hooks implementeren!
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.