Introduktion till Git-krokar

Slutförd

Kontinuerlig leverans kräver en betydande automatiseringsnivå. Du kan inte leverera kontinuerligt om du inte har en kodbas av hög kvalitet. Det är där git går så bra.

Det gör att du kan automatisera de flesta kontrollerna i din kodbas. Innan du checkar in koden på den lokala lagringsplatsen måste du låta fjärren vara.

Git-krokar

Git-krokar är en mekanism som gör att kod kan köras före eller efter vissa Git-livscykelhändelser.

Till exempel kan man ansluta till commit-msg-händelsen för att verifiera att incheckningsmeddelandestrukturen följer det rekommenderade formatet.

Krokarna kan vara valfri körbar kod, inklusive shell, PowerShell, Python eller andra skript. Eller så kan de vara en binär körbar fil. Allt går!

Det enda villkoret är att krokar måste lagras i mappen .git/hooks i lagringsplatsens rot. Dessutom måste de namnges för att matcha relaterade händelser (Git 2.x):

  • applypatch-msg
  • pre-applypatch
  • post-applypatch
  • förincheckning
  • prepare-commit-msg
  • commit-msg
  • efter incheckningen
  • pre-rebase
  • efter utcheckning
  • efter sammanslagning
  • ta emot i förväg
  • update
  • efter mottagandet
  • efter uppdateringen
  • pre-auto-gc
  • efter omskrivning
  • pre-push

Praktiska användningsfall för att använda Git-krokar

Eftersom Git-hooks kör skripten på den specifika händelsetyp som de anropas för kan du göra mycket vad som helst med Git-krokar.

Några exempel på var du kan använda krokar för att tillämpa principer, säkerställa konsekvens och kontrollera din miljö:

  • I Framtvinga förutsättningar för sammanslagning
  • Verifiera arbetsobjektets ID-association i incheckningsmeddelandet
  • Hindrar dig och ditt team från att begå felaktig kod
  • Skicka meddelanden till ditt teams chattrum (Teams, Slack, HipChat osv.)

I nästa lektion får du se hur du implementerar Git Hooks.