✅ WEB ja WordPressi uudised, teemad, pistikprogrammid. Siin jagame näpunäiteid ja parimaid veebisaidi lahendusi.

Kuidas kasutada Git konksu lukufaili muudatuste tuvastamiseks ja sõnumi kuvamiseks

6

Kui töötame koostöötiimi kallal, peab arendaja aeg-ajalt harusse lisama uue paketi, mis seejärel liidetakse põhipaketiks. Keegi ei pruugi sellest teadlik olla ja tõmbab lihtsalt kapteni ja käivitab rakenduse, et see puuduva paketi tõttu kokku jookseb. Vaatame, kuidas saame Git konksude abil tuvastada a package.jsonvõi a muudatusi yarn.lockja kuvada sõnumi, mis palub kasutajal puuduvad sõltuvused installida.

Mis on Giti konksud?

Git konksud vallandatakse, kui toimub mõni Git sündmus, näiteks uus sissemaksmine, kohustuste edastamine võrguharusse, kohustuste tõmbamine, haru kontrollimine või haru ühendamine. Need protsessid lõpevad 0-ga, kui nad lõpevad õigesti, või mõne muu väärtusega, kui nad lõppevad valesti.

Kui haagitud protsess lõpeb 0-ga, jätkub Git-toiming. Vastasel juhul on Giti toiming blokeeritud. Näiteks kui konfigureerite oma koodi lintimiseks kinnistamise eelse Giti konksu, käivitab Git selle, kui teete git commit. Kui lint ebaõnnestub, ei lähe kohustus läbi.

Giti konksud on midagi Giti integreeritud ja konksude loend on väga ulatuslik. Näiteks on teil tõuke-eelsed, kinnistamisjärgsed, väljamaksejärgsed, liitmisjärgsed ja paljud muud Giti konksud.

Käivitage Huskyga Git konksud

Mõningate toimingute käivitamiseks Giti konksude käivitamisel saame kasutada Node.js -i jaoks Husky paketti. Husky võimaldab meil failis määrata, milliseid skripte Giti konksude käivitamisel käivitada. Installige Husky pakett NPM-iga:package.json

npm i -D husky

või lõng:

yarn add -D husky

Nüüd peate Husky Git konksude jaoks lähtestama. Kui kasutate NPM-i:

npx husky install

ja kui kasutate lõnga

yarn husky install

ja kõik, olete nüüd installinud ja konfigureerinud Husky Git konksude käitamiseks. Lõpuks on käes aeg konks määratleda!

Lukustusfaili muudatuste kontrollimiseks lisage postituste liitmise Git konks

Tahame käivitada koodi, mis hoiataks meid, kui failid package-lock.jsonvõi yarn.lockon muutunud. See juhtub tavaliselt siis, kui tõmbame masterja need failid on muutunud. Saame seadistada konksu jooksma, kui ühendame haru.

Giti konksude täpsustamiseks Huskyga määratleme need package.jsonfailis. Lisage see tipptaseme võtmena:

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

See ütleb, et pärast haru ühendamist käivitame selle skripti. Nüüd peame selle looma. Looge kaust, lisage sellele fail ja määrake see käivitatavaks:

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

Kui te ei määra seda käivitatavaks, kuvatakse Husky Giti konksu käivitamisel tõrge "Luba keelatud". Nüüd redigeerige faili Vimi või oma lemmikredaktoriga ja kleepige see:

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

See prindib sõnumi lilla, sõnadega package-lock.jsonja npm installoranžiga. See skript kontrollib, kas package-lock.jsonseda värskendati, ja kui soovite selle yarn.lockasemel testida, peate lihtsalt failinime asendama.

Testige lukustusfaili muutmise kontrolli

Selle testimine ei ole liiga keeruline. Põhimõtteliselt peate lihtsalt looma uue haru, installima mõne paketi, et package-lock.jsonseda muudetaks, kinnitama selle ja lülituma eelmisele harule. Kõik, mida saab teha selle käsuga:

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

Nüüd peate selle selle haruga liitma

git merge testbranch

See käivitab liitmisjärgse konksu ja käivitab meie skripti. Seejärel näete käsureal seda teadet, kuna package-lock.jsonühendamise ajal on seda muudetud:

Lukustusfaili muudatuse tuvastamine VS-koodis

See oli ainult üks kasutuskord. Git hooke saab kasutada mitmel viisil, näiteks populaarse paketi Prettier käivitamiseks enne, kui midagi koodi vormindate.

Selle konkreetse juhtumi jaoks on alternatiive, et kontrollida, kas package-lock.jsonseda värskendati. Näiteks VS Code jaoks on olemas vahva pakett Refresh NPM Packages, mis muudatuse tuvastamisel palub teil pakette värskendada. See töötab olenemata sellest, kas olete Giti konksud seadistanud või mitte. Veel üks tore asi on see, et see toimib harude vahetamisel isegi ilma ühte neist teise ühendamata.

Kuidas kasutada Git konksu lukufaili muudatuste tuvastamiseks ja sõnumi kuvamiseks

Kuid selle eeliseks, mida oleme siin rakendanud, on see, et see töötab käsureal ja see ei sõltu konkreetsest koodiredaktorist. Kui töötate näiteks avatud lähtekoodiga projektiga, võite soovida seadistada siin kirjeldatut, nii et kõigil kaasatud arendajatel oleks ühine alus, olenemata nende seadistustest.

See veebisait kasutab teie kasutuskogemuse parandamiseks küpsiseid. Eeldame, et olete sellega rahul, kuid saate soovi korral loobuda. Nõustu Loe rohkem