Weka upya
Rebase
ni mchakato wa kubadilisha historia ya ahadi ya tawi kwa kutumia ahadi kutoka kwa tawi lingine. Badala ya kutumia merge
kuchanganya mabadiliko, rebase
hukuruhusu kufanya insert
ahadi mpya kwenye historia ya ahadi ya tawi la sasa bila kuunda ahadi za kuunganisha.
Kwa mfano, tuseme una matawi mawili: feature-branch
na main
. Unafanyia kazi feature-branch
na unataka kutumia ahadi za hivi punde kutoka main
kwenye tawi lako la sasa. Unaweza kutumia rebase kufanikisha hili:
git checkout feature-branch
git rebase main
Unapoendesha amri hii, Git itachukua ahadi kutoka main
na kuzitumia kwenye feature-branch
. Hii inamaanisha kuwa ahadi zote feature-branch
zitaonekana baada ya ahadi kutoka main
. Matokeo yake ni historia safi na inayoweza kusomeka zaidi ya ahadi kwenye feature-branch
.
Walakini, unapotumia rebase, ni muhimu kutambua kuwa kubadilisha historia ya ahadi kunaweza kuathiri matawi yaliyoshirikiwa hadharani. Kwa hivyo, ikiwa tayari umesukuma ahadi kutoka kwa tawi lako la sasa hadi hazina ya mbali, inashauriwa kwa ujumla kutotumia rebase kwenye tawi hilo ili kuepusha mizozo na historia mbaya ya ahadi.
Branch
Kubadilisha
Kubadilisha tawi katika Git kunarejelea mchakato wa kuhama kutoka tawi moja hadi lingine. Unapobadilisha matawi, Git huhamisha kiashirio cha HEAD kwenye tawi jipya, huku kuruhusu kufanya kazi kwenye tawi hilo na kufanya mabadiliko bila kuathiri matawi mengine.
Kwa mfano, tuseme una matawi feature-branch
na main
. Kubadili hadi feature-branch
, ungetumia amri ifuatayo:
git checkout feature-branch
Baada ya kubadili matawi, unaweza kufanya mabadiliko katika saraka ya kazi. All commit
, add
, na checkout
amri zitatumika kwa tawi la sasa.
Kwa mfano, ukiongeza faili mpya na kuiweka kwenye feature-branch
, ni tawi hilo pekee litakalokuwa na ahadi, ilhali main
halijaathiriwa. Hii hukuruhusu kukuza vipengee tofauti, kurekebisha hitilafu, au kufanya kazi kwenye matoleo tofauti ya msimbo kwa kujitegemea. Unaweza kubadilisha kati ya matawi wakati wowote inahitajika kufanya kazi kwenye kila tawi kando.