Git Rebase ir Branch Perjungimas

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.