✅ WEB- ja WordPress -uutiset, -teemat, -laajennukset. Täällä jaamme vinkkejä ja parhaita verkkosivustoratkaisuja.

Kuinka käyttää Git-koukkuja lukitustiedoston muutosten havaitsemiseen ja viestin näyttämiseen

8

Kun työskentelemme yhteistyötiimin parissa, kehittäjän on aika ajoin lisättävä haaraan uusi paketti, joka sitten yhdistetään masteriksi. Joku saattaa olla tietämätön siitä ja vetää päällikön ja käynnistää sovelluksen vain, jotta se kaatuu puuttuvan paketin takia. Katsotaanpa, kuinka voimme käyttää Git-koukkuja havaitaksemme a:n package.jsontai a :n muutokset yarn.lockja näyttääkseen viestin, joka kehottaa käyttäjää asentamaan puuttuvat riippuvuudet.

Mitä ovat Git-koukut?

Git-koukut laukeavat, kun jokin Git-tapahtuma tapahtuu, kuten uusi sitoumus, sitoumusten työntäminen online-haaraan, sitoumusten vetäminen, haaran tarkistaminen tai haaran yhdistäminen. Nämä prosessit päättyvät 0:aan, kun ne päättyvät oikein, tai johonkin muuhun arvoon, kun ne päättyvät väärin.

Jos kiinnitetty prosessi päättyy nollaan, Git-toiminto jatkuu. Muussa tapauksessa Git-toiminto estetään. Jos esimerkiksi määrität pre-commit Git-koukun yhdistämään koodisi, Git suorittaa tämän, kun teet git commit. Jos nukka epäonnistuu, sitoumus ei mene läpi.

Git-koukut ovat jotain integroitua Gitiin, ja koukkujen luettelo on erittäin laaja. Sinulla on esimerkiksi pre-push, post-commit, post-checkout, post-merge ja monia muita Git-koukkuja.

Suorita Git-koukut Huskyn kanssa

Joidenkin tehtävien suorittamiseen Git-koukkujen käynnistyessä voimme käyttää Node.js:n Husky pakettia. Husky antaa meille mahdollisuuden määrittää package.jsontiedostossa, mitkä skriptit suoritetaan, kun Git-koukut laukeavat. Asenna Husky-paketti NPM:llä:

npm i -D husky

tai lanka:

yarn add -D husky

Nyt sinun on alustettava Husky Git-koukkuja varten. Jos käytät NPM:ää:

npx husky install

ja jos käytät lankaa

yarn husky install

ja siinä kaikki, olet nyt asentanut ja määrittänyt Huskyn suorittamaan Git-koukut. On vihdoin aika määritellä koukku!

Lisää viestien yhdistäminen Git-koukku tarkistaaksesi lukitustiedoston muutokset

Haluamme suorittaa jonkin koodin varoittaaksemme, jos package-lock.json-tiedostot yarn.lockovat muuttuneet. Tämä tapahtuu yleensä, kun vedämme masterja nämä tiedostot ovat muuttuneet. Voimme asettaa koukun juoksemaan, kun yhdistämme haaran.

Määrittelemme Git-koukut Huskyyn määrittämällä ne package.jsontiedostossa. Lisää tämä ylätason avaimeksi:

"husky": { "hooks": { "post-merge": "./githooks/post-merge-hook.sh" } }

Tämä tarkoittaa, että kun haara on yhdistetty, suoritamme tämän skriptin. Meidän on nyt luotava se. Luo kansio, lisää siihen tiedosto ja aseta se suoritettavaksi:

mkdir githooks && cd githooks && touch post-merge-hook.sh && chmod +x post-merge-hook.sh

Jos et määritä sitä suoritettavaksi, saat virheilmoituksen "Lupa estetty", kun Husky yrittää suorittaa tämän Git-koukun. Muokkaa nyt tiedostoa Vimillä tai suosikkieditorillasi ja liitä se siihen:

changedFiles="$(git diff-tree -r --name-only --no-commit-id ORIG_HEAD HEAD)" runOnChange() { echo "$changedFiles" | grep -q "$1" && echo -e "$2" } runOnChange package-lock.json "033[35m*******************************************************************************n* 033[33mpackage-lock.json033[35m has changed. Run033[33m npm install033[35m to update your dependencies. *n*******************************************************************************" exit 0

Tämä tulostaa viestin violetilla sanoilla package-lock.jsonja npm installoranssilla. Tämä komentosarja tarkistaa, onko package-lock.jsonse päivitetty, ja jos haluat testata sen yarn.locksijaan, sinun on vain korvattava tiedoston nimi.

Testaa lukitustiedoston muutostarkistus

Tämän testaus ei ole liian monimutkaista. Pohjimmiltaan sinun tarvitsee vain luoda uusi haara, asentaa paketti, jotta sitä package-lock.jsonmuutetaan, sitoa se ja vaihtaa edelliseen haaraan. Kaikki mitä voidaan tehdä tällä komennolla:

git checkout -b testbranch && npm i -D lint-staged && git add. && git commit -m "test" && git checkout -

Nyt sinun on yhdistettävä se tähän haaraan

git merge testbranch

Tämä laukaisee yhdistämisen jälkeisen koukun ja suorittaa skriptimme. Näet sitten tämän viestin komentorivillä, koska sitä package-lock.jsonon muokattu yhdistämisen aikana:

Lukitustiedoston muutoksen havaitseminen VS-koodissa

Tämä oli vain yksi käyttökerta. Git-koukkuja voidaan käyttää monin tavoin, esimerkiksi suositun Prettier-paketin suorittamiseen ennen kuin teet jotain koodin muotoiluun.

Tälle tietylle tapaukselle on olemassa vaihtoehtoja tarkistaa, onko package-lock.jsonpäivitetty. Esimerkiksi VS Codessa on näppärä paketti Refresh NPM Packages, joka kehottaa sinua päivittämään paketit, jos se havaitsee muutoksen. Se toimii riippumatta siitä, oletko asettanut Git-koukut vai et. Toinen mukava asia on, että se toimii, kun vaihdat haaraa, jopa yhdistämättä niitä toiseen.

Kuinka käyttää Git-koukkuja lukitustiedoston muutosten havaitsemiseen ja viestin näyttämiseen

Tässä toteuttamamme etuna on kuitenkin se, että se suoritetaan komentorivillä eikä se ole riippuvainen tietystä koodieditorista. Jos työskentelet esimerkiksi avoimen lähdekoodin projektissa, saatat haluta määrittää tässä kuvatut, jotta kaikilla mukana olevilla kehittäjillä on yhteinen perusta heidän asetuksistaan ​​riippumatta.

Tämä verkkosivusto käyttää evästeitä parantaakseen käyttökokemustasi. Oletamme, että olet kunnossa, mutta voit halutessasi kieltäytyä. Hyväksyä Lisätietoja