Išplėstinės Git koncepcijos: galingų funkcijų ir metodų tyrinėjimas

Rebasing

Pakartotinis bazės nustatymas leidžia įtraukti pakeitimus iš vienos šakos į kitą, modifikuojant įsipareigojimų istoriją. Jis atkuria įsipareigojimus iš šaltinio šakos į tikslinę šaką. Taip gaunama švaresnė ir linijiškesnė įvykdymo istorija.

Pavyzdys: Tarkime, kad turite funkcijų šaką feature-branch ir norite įtraukti naujausius šakos pakeitimus main. Galite naudoti šią komandą:

git checkout feature-branch  
git rebase main  

Tai pritaikys įsipareigojimus iš main filialo į feature-branch. Bet kokie konfliktai turės būti išspręsti per naujos bazės procesą.

 

Stashing

„Stashing“ leidžia išsaugoti esamus pakeitimus, kurie nėra paruošti atlikti, ir laikinai grįžti į švarų darbo katalogą. Tai naudinga, kai reikia pereiti į kitą filialą arba dirbti su kita funkcija neatliekant pakeitimų, su kuriais šiuo metu dirbate.

Pavyzdys: Tarkime, kad dirbate su funkcijų šaka ir atlikote kai kurių pakeitimų, bet turite pereiti į kitą šaką. Norėdami išsaugoti pakeitimus, galite naudoti šias komandas:

git stash

Perjungę į naują filialą, galite pritaikyti paslėptus pakeitimus naudodami:

git stash apply

 

Git Hooks

Git Hooks yra scenarijai, kuriuos suaktyvina konkretūs „Git“ įvykiai, pvz., išankstinis įteikimas, po įvedimo, išankstinis spaudimas ir kt. Jie leidžia automatizuoti tam tikrus veiksmus arba taikyti konkrečias darbo eigos taisykles.

Pavyzdys: Tarkime, kad prieš įsipareigodami norite paleisti kodą. Galite sukurti išankstinio įvedimo kablio scenarijų, kuris suaktyvins linterį ir užkirs kelią įvykdymui, jei yra kokių nors įtampų klaidų.

 

Git Submodule

Git Submodule leidžia įtraukti kitą Git saugyklą kaip pakatalogią pagrindinėje saugykloje. Tai naudinga, kai turite projektą, kuris priklauso nuo išorinių bibliotekų ar komponentų.

Pavyzdys: turite projektą, kuriam reikia konkrečios bibliotekos. Užuot kopijuodami bibliotekos kodą savo saugykloje, galite pridėti jį kaip submodulį. Tokiu būdu bibliotekos kodą galite laikyti atskirai ir prireikus lengvai jį atnaujinti.

 

Git Revert and Git Reset

Git Revert atšaukia ankstesnį įsipareigojimą sukurdamas naują įsipareigojimą, kuris anuliuoja pradinio įsipareigojimo pakeitimus. Git Reset, kita vertus, leidžia perkelti šakos žymeklį į kitą įvykdymą, efektyviai atmetant įsipareigojimus iš įsipareigojimų istorijos.

Pavyzdys: jei norite anuliuoti paskutinį įsipareigojimą, galite naudoti git revert HEAD norėdami sukurti naują įsipareigojimą, kuris anuliuotų paskutinio įpareigojimo atliktus pakeitimus. Jei norite visiškai atmesti paskutinį įvykdymą, galite naudoti git reset HEAD~1 šakos žymeklį perkelti vienu įsipareigojimu atgal.

 

Šios pažangios „Git“ koncepcijos suteikia galingų galimybių efektyviai valdyti saugyklą. Supratimas, kaip juos naudoti ir kada juos taikyti, labai pagerins „Git“ darbo eigą ir projektų valdymą.