Rebasing
Kuweka upya hukuruhusu kujumuisha mabadiliko kutoka kwa tawi moja hadi tawi lingine kwa kurekebisha historia ya ahadi. Inarudisha ahadi kutoka kwa tawi la chanzo hadi tawi linalolengwa. Hii inasababisha historia safi na ya mstari zaidi ya ahadi.
Mfano: Wacha tuseme una tawi la kipengele linaloitwa feature-branch
na unataka kujumuisha mabadiliko ya hivi punde kutoka kwa main
tawi. Unaweza kutumia amri ifuatayo:
git checkout feature-branch
git rebase main
Hii itatumia ahadi kutoka kwa main
tawi hadi faili ya feature-branch
. Migogoro yoyote itahitaji kutatuliwa wakati wa mchakato wa kuweka upya.
Stashing
Kuhifadhi kunakuruhusu kuhifadhi mabadiliko yako ya sasa, ambayo hayako tayari kufanywa, na urejeshe kwa muda saraka safi ya kufanya kazi. Hii ni muhimu unapohitaji kuhamia tawi tofauti au kufanya kazi kwenye kipengele tofauti bila kufanya mabadiliko unayofanyia kazi kwa sasa.
Mfano: Wacha tuseme unafanya kazi kwenye tawi la kipengele na umefanya mabadiliko kadhaa, lakini unahitaji kubadili tawi lingine. Unaweza kutumia amri zifuatazo kuficha mabadiliko yako:
git stash
baada ya kubadili tawi jipya, unaweza kutumia mabadiliko yaliyofichwa kwa kutumia:
git stash apply
Git Hooks
Git Hooks
ni hati ambazo huchochewa na matukio mahususi ya Git, kama vile kujituma kabla, baada ya kujituma, kusukuma mapema, n.k. Zinakuruhusu kubadilisha vitendo fulani kiotomatiki au kutekeleza sheria mahususi katika mtiririko wako wa kazi.
Mfano: Tuseme unataka kuendesha linter kwenye nambari yako kabla ya kufanya. Unaweza kuunda hati ya ndoano ya kujitolea mapema ambayo inasababisha linter na kuzuia ahadi ikiwa kuna makosa yoyote ya kuorodhesha.
Git Submodule
Git Submodule
hukuruhusu kujumuisha hazina nyingine ya Git kama saraka ndogo ndani ya hazina yako kuu. Hii ni muhimu wakati una mradi ambao unategemea maktaba ya nje au vipengele.
Mfano: Una mradi unaohitaji maktaba maalum. Badala ya kunakili msimbo wa maktaba kwenye hazina yako, unaweza kuiongeza kama moduli ndogo. Kwa njia hii, unaweza kutenganisha msimbo wa maktaba na usasishe kwa urahisi inapohitajika.
Git Revert and Git Reset
Git Revert
hutendua ahadi ya hapo awali kwa kuunda ahadi mpya ambayo hubadilisha mabadiliko yaliyofanywa katika ahadi ya asili. Git Reset
, kwa upande mwingine, hukuruhusu kuhamisha kiashiria cha tawi kwa ahadi tofauti, kutupilia mbali ahadi kutoka kwa historia ya ahadi.
Mfano: Ikiwa unataka kutendua ahadi ya mwisho, unaweza kutumia git revert HEAD
kuunda ahadi mpya ambayo inatengua mabadiliko yaliyofanywa katika ahadi ya mwisho. Ikiwa unataka kutupa ahadi ya mwisho kabisa, unaweza kutumia git reset HEAD~1
kusogeza pointer ya tawi nyuma kwa ahadi moja.
Dhana hizi za hali ya juu katika Git hutoa uwezo mkubwa wa kudhibiti hazina yako kwa ufanisi. Kuelewa jinsi ya kuzitumia na wakati wa kuzitumia kutaboresha sana mtiririko wako wa kazi wa Git na usimamizi wa mradi.