Git-hookien ymmärtäminen
Tutustukaa Git-hookien eri tyyppeihin ja niiden suorituskohtiin Git-työnkulussa.
Git-hookien ymmärtäminen on ilmainen Git- ja GitHub-ammattilaisen työnkulku-oppitunti CoddyKitissä. Tämä on oppitunti 1/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Git- ja GitHub-ammattilaisen työnkulku-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Git- ja GitHub-ammattilaisen työnkulku-kurssilla on yhteensä 4 oppituntia.
Mitä Git-hookit ovat?
Tervetuloa tutustumaan Git-hookeihin! Git-hookit ovat tehokkaita ja mukautettavia skriptejä, jotka Git suorittaa automaattisesti ennen commitin tekemisen, pushauksen tai pushattujen commitien vastaanottamisen kaltaisia tapahtumia tai niiden jälkeen.
Ajatelkaa niitä Git-työnkulun automaattisina tarkistuspisteinä tai toimintoina. Niiden avulla voitte valvoa projektin standardeja, automatisoida tehtäviä ja integroida muita järjestelmiä.
Missä hookit sijaitsevat
Jokaisen Git-repositorion mukana tulee hakemisto .git/hooks. Sen sisältä löydätte esimerkkihakuskriptejä, joiden tiedostopääte on yleensä .sample.
Aktivoidaksenne hookin poistakaa tiedostonimestä .sample-pääte ja tehkää tiedostosta suoritettava. Tämän jälkeen Git suorittaa sen oikealla hetkellä.
- Sijainti:
.git/hooks/ - Tiedostot: Shell-skriptejä (Bash, Python, Ruby jne.)
- Aktivointi: Nimetkää uudelleen ja tehkää suoritettavaksi
Asiakaspuolen ja palvelinpuolen hookit
Git-hookit jaetaan kahteen päätyyppiin sen perusteella, missä ne suoritetaan:
- Asiakaspuolen hookit: Suoritetaan paikallisella koneellanne (esimerkiksi ennen committia tai rebasea). Niitä käytetään henkilökohtaisen työnkulun automatisointiin ja paikallisten käytäntöjen valvontaan.
- Palvelinpuolen hookit: Suoritetaan etä-Git-palvelimella (esimerkiksi kun pushaatte koodia jaettuun repositorioon). Niillä valvotaan koko projektia koskevia käytäntöjä kaikkien osalta.
Asiakaspuolen hook: pre-commit
pre-commit-hook on yksi yleisimmistä asiakaspuolen hookeista. Se suoritetaan *ennen kuin* Git luo commitin virallisesti.
Jos pre-commit-skripti päättyy nollasta poikkeavaan tilakoodiin, Git keskeyttää commitin. Se sopii erinomaisesti esimerkiksi seuraaviin tehtäviin:
- Koodin linttaus (tyylivirheiden tarkistaminen)
- Yksikkötestien suorittaminen
- Suurten tiedostojen tai arkaluonteisten tietojen tarkistaminen
Asiakaspuolen hook: commit-msg
commit-msg-hook suoritetaan *sen jälkeen, kun* olette kirjoittaneet commit-viestin, mutta *ennen kuin* commit viimeistellään.
Tämä hook on hyödyllinen, kun haluatte varmistaa commit-viestien noudattavan tiettyjä käytäntöjä tai muotoja. Se voi esimerkiksi tarkistaa:
- Alkaako viesti tiketin tunnisteella (esimerkiksi
[JIRA-123]) - Onko viestin pituus sallituissa rajoissa
- Ovatko tietyt avainsanat mukana tai puuttuvat
Asiakaspuolen hook: post-commit
post-commit-hook suoritetaan *välittömästi sen jälkeen*, kun commit on luotu onnistuneesti.
Toisin kuin pre-commit- tai commit-msg-hook, tämä hook ei voi muuttaa commitin lopputulosta. Sitä käytetään usein ilmoituksiin tai integraatioihin, kuten seuraaviin:
- Tiimin jäsenten ilmoittaminen
- Projektinhallintatyökalun päivittäminen
- Jatkuvan integraation (CI) koontiversion käynnistäminen (vaikka tämä onkin yleisempää palvelinpuolen hookeilla)
Palvelinpuolen hook: pre-receive
Palvelinpuolen hookeihin siirryttäessä pre-receive suoritetaan *ennen* kuin etärepositorion viitteitä, kuten haaroja tai tageja, päivitetään.
Tämä hook on tehokas tapa valvoa repositoriolle tärkeitä käytäntöjä, kuten:
- Estetään suorat pushaukset
main-haaraan - Varmistetaan, että kaikki commitit on allekirjoitettu
- Varmennetaan commitoijan henkilöllisyys
Jos tämä hook päättyy nollasta poikkeavaan paluuarvoon, koko push hylätään.
Palvelinpuolen hook: post-receive
post-receive-hook suoritetaan *sen jälkeen*, kun push on onnistuneesti päivittänyt etärepositorion viitteet.
post-commit-hookin tapaan tämä hook ei voi hylätä pushia. Sitä käytetään tavallisesti seuraaviin tarkoituksiin:
- CI/CD-putkien käynnistäminen
- Ulkoisten issue-seurantojen päivittäminen
- Sähköposti-ilmoitusten lähettäminen tiimille
- Koodin julkaiseminen staging-ympäristöön
Yksinkertaisen hookin luominen
Hook luodaan yksinkertaisesti luomalla hookin niminen tiedosto, esimerkiksi pre-commit, hakemistoon .git/hooks/. Tehdään hyvin yksinkertainen hook:
#!/bin/sh
# This pre-commit hook will always succeed
echo "Running pre-commit hook..."
exit 0Hookien määrittäminen suoritettaviksi
Kun hook-komentosarja on luotu, se on määritettävä suoritettavaksi. Muuten Git ei suorita sitä. Käyttäkää päätteen chmod-komentoa:
chmod +x .git/hooks/pre-commit
Nyt Git suorittaa tämän komentosarjan joka kerta, kun yritätte tehdä commitin!
Pikatarkistus: hookien ajoitus
Git-hookit suoritetaan työnkulun tietyissä vaiheissa. Niiden ajoituksen ymmärtäminen on olennaista, jotta niitä voidaan käyttää tehokkaasti.
Kertaus: Git-hookien ymmärtäminen
Olette ottaneet ensimmäisen askeleen Git-hookien tehokkaaseen maailmaan!
- Git-hookit ovat komentosarjoja, jotka automatisoivat toimintoja Git-tapahtumien aikana.
- Ne sijaitsevat repositorion hakemistossa
.git/hooks/. - Hookit ovat joko asiakaspuolen (paikallisella koneella) tai palvelinpuolen (etärepositoriossa) hookeja.
- Keskeiset hookit, kuten
pre-commitjapre-receive, voivat valvoa käytäntöjä estämällä toimintoja. post-commit- japost-receive-hookeja käytetään toiminnon jälkeisiin ilmoituksiin tai integraatioihin.
Seuraavaksi tutustumme tiettyjen hookien käytännön toteutuksiin!
Opi Git- ja GitHub-ammattilaisen työnkulku tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 12
- Oppitunnit
- 48
Usein kysytyt kysymykset
Onko oppitunti ”Git-hookien ymmärtäminen” ilmainen?
Kyllä – oppitunnin ”Git-hookien ymmärtäminen” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Git- ja GitHub-ammattilaisen työnkulku-kurssin, päivitä CoddyKit PROhon. Git- ja GitHub-ammattilaisen työnkulku-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Git-hookien ymmärtäminen”?
Tutustukaa Git-hookien eri tyyppeihin ja niiden suorituskohtiin Git-työnkulussa. Harjoittelet Git- ja GitHub-ammattilaisen työnkulku-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Git- ja GitHub-ammattilaisen työnkulku-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Git- ja GitHub-ammattilaisen työnkulku-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 1/4.
Kuinka kauan ”Git-hookien ymmärtäminen”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä Git- ja GitHub-ammattilaisen työnkulku-oppitunnilla?
Kyllä. Jokainen Git- ja GitHub-ammattilaisen työnkulku-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Git-hookien ymmärtäminen
- Pre-commit- ja post-merge-hookit
- Gitin määritysten mukauttaminen
- Hookien jakaminen Huskylla