Rebase
Rebase
yra filialo įsipareigojimų istorijos keitimo procesas, taikant įsipareigojimus iš kito filialo. Užuot naudoję merge
pakeitimams derinti, rebase
galite įtraukti insert
naujus įsipareigojimus į dabartinės šakos įsipareigojimų istoriją nekuriant sujungimo įsipareigojimų.
Pavyzdžiui, tarkime, kad turite dvi šakas: feature-branch
ir main
. Jūs dirbate feature-branch
ir norite pritaikyti naujausius įsipareigojimus main
savo dabartinei šakai. Norėdami tai padaryti, galite naudoti rebase:
git checkout feature-branch
git rebase main
Kai paleisite šią komandą, Git paims įsipareigojimus iš main
ir pritaikys juos feature-branch
. Tai reiškia, kad visi įsipareigojimai feature-branch
bus rodomi po įsipareigojimų iš main
. Rezultatas – aiškesnė ir lengviau skaitoma įsipareigojimų istorija feature-branch
.
Tačiau naudojant rebase svarbu atkreipti dėmesį, kad pakeitus įsipareigojimų istoriją gali būti paveiktos viešai bendrinamos šakos. Todėl, jei jau perkėlėte įsipareigojimus iš dabartinės šakos į nuotolinę saugyklą, paprastai patariama nenaudoti rebase toje šakoje, kad išvengtumėte konfliktų ir netvarkingos įsipareigojimų istorijos.
Branch
Perjungimas
Filialų perjungimas Git reiškia perėjimo iš vienos šakos į kitą procesą. Kai perjungiate šakas, „Git“ perkelia HEAD žymeklį į naują šaką, kad galėtumėte dirbti su šia šaka ir atlikti pakeitimus nepaveikdami kitų šakų.
Pavyzdžiui, tarkime, kad turite filialų feature-branch
ir main
. Norėdami perjungti į feature-branch
, naudokite šią komandą:
git checkout feature-branch
Perjungę filialus, galite atlikti pakeitimus darbo kataloge. Visos commit
, add
, ir checkout
komandos bus taikomos dabartinei šakai.
Pavyzdžiui, jei pridėsite naują failą ir patvirtinsite jį feature-branch
, tik toje šakoje bus patvirtinimas, o tai main
nebus paveikta. Tai leidžia kurti atskiras funkcijas, taisyti klaidas arba savarankiškai dirbti su skirtingomis kodo versijomis. Galite perjungti filialus, kai reikia dirbti su kiekviena šaka atskirai.