Rebasing
Ribazimi ju lejon të inkorporoni ndryshimet nga një degë në një degë tjetër duke modifikuar historinë e kryerjes. Ai përsërit kryerjet nga dega burim në degën e synuar. Kjo rezulton në një histori të kryerjes më të pastër dhe më lineare.
Shembull: Le të themi se keni një degë funksioni të quajtur feature-branch
dhe dëshironi të inkorporoni ndryshimet më të fundit nga main
dega. Ju mund të përdorni komandën e mëposhtme:
git checkout feature-branch
git rebase main
Kjo do të zbatojë angazhimet nga main
dega në feature-branch
. Çdo konflikt do të duhet të zgjidhet gjatë procesit të ribazimit.
Stashing
Stashing ju lejon të ruani ndryshimet tuaja aktuale, të cilat nuk janë gati për t'u kryer, dhe të ktheheni përkohësisht në një drejtori të pastër pune. Kjo është e dobishme kur ju duhet të kaloni në një degë tjetër ose të punoni në një veçori tjetër pa kryer ndryshimet në të cilat jeni duke punuar aktualisht.
Shembull: Le të themi se jeni duke punuar në një degë tipare dhe keni bërë disa ndryshime, por duhet të kaloni në një degë tjetër. Ju mund të përdorni komandat e mëposhtme për të ruajtur ndryshimet tuaja:
git stash
Pas kalimit në degën e re, më pas mund të aplikoni ndryshimet e fshehura duke përdorur:
git stash apply
Git Hooks
Git Hooks
janë skriptet që aktivizohen nga ngjarje specifike të Git, si p.sh. pre-commit, post-commit, pre-push, etj. Ato ju lejojnë të automatizoni veprime të caktuara ose të zbatoni rregulla specifike në rrjedhën tuaj të punës.
Shembull: Supozoni se dëshironi të ekzekutoni një linter në kodin tuaj përpara se të kryeni. Ju mund të krijoni një skrip të fiksimit paraprak që aktivizon linterin dhe parandalon kryerjen nëse ka ndonjë gabim në lidhje.
Git Submodule
Git Submodule
ju lejon të përfshini një depo tjetër Git si një nëndrejtori brenda depove tuaja kryesore. Kjo është e dobishme kur keni një projekt që varet nga bibliotekat ose komponentët e jashtëm.
Shembull: Ju keni një projekt që kërkon një bibliotekë specifike. Në vend që të dyfishoni kodin e bibliotekës në depon tuaj, mund ta shtoni atë si një nënmodul. Në këtë mënyrë, ju mund ta mbani të ndarë kodin e bibliotekës dhe ta përditësoni lehtësisht kur është e nevojshme.
Git Revert and Git Reset
Git Revert
zhbën një commit të mëparshëm duke krijuar një commit të ri që anulon ndryshimet e bëra në commit origjinal. Git Reset
, nga ana tjetër, ju lejon të zhvendosni treguesin e degës në një kryerje tjetër, duke hequr në mënyrë efektive detyrimet nga historia e kryerjes.
Shembull: Nëse dëshironi të zhbëni kryerjen e fundit, mund ta përdorni git revert HEAD
për të krijuar një kryerje të re që zhbën ndryshimet e bëra në kryerjen e fundit. Nëse dëshironi të hiqni plotësisht kryerjen e fundit, mund ta përdorni git reset HEAD~1
për të zhvendosur treguesin e degës mbrapa me një kryerje.
Këto koncepte të avancuara në Git ofrojnë aftësi të fuqishme për të menaxhuar në mënyrë efektive depon tuaj. Të kuptuarit se si t'i përdorni ato dhe kur t'i zbatoni ato do të përmirësojë shumë rrjedhën tuaj të punës dhe menaxhimin e projektit në Git.