Git Rebase ja Branch Vaihtaminen

Rebase

Rebase on prosessi, jolla muutetaan haaran toimitushistoriaa soveltamalla sitoumuksia toiselta haaralta. Sen sijaan, että käytät merge muutosten yhdistämistä, rebase voit lisätä insert uusia sitoumuksia nykyisen haaran toimitushistoriaan luomatta yhdistämistoimituksia.

Oletetaan esimerkiksi, että sinulla on kaksi haaraa: feature-branch ja main. Työskentelet parhaillaan feature-branch ja haluat soveltaa viimeisimmät sitoumukset main nykyiseen haaraasi. Voit käyttää rebasea tämän saavuttamiseksi:

git checkout feature-branch  
git rebase main  

Kun suoritat tämän komennon, Git ottaa sitoumukset osoitteesta main ja ottaa ne käyttöön feature-branch. Tämä tarkoittaa, että kaikki sitoumukset feature-branch näkyvät osoitteesta main. Tuloksena on selkeämpi ja luettavampi toimitushistoria feature-branch.

Rebasea käytettäessä on kuitenkin tärkeää huomata, että toimitushistorian muuttaminen voi vaikuttaa julkisesti jaettuihin haaroihin. Siksi, jos olet jo siirtänyt sitoumuksia nykyisestä haarasta etävarastoon, on yleensä suositeltavaa olla käyttämättä rebasea kyseisessä haarassa konfliktien ja sotkuisen toimitushistorian välttämiseksi.

 

Branch Vaihtaminen

Haarojen vaihto Gitissä tarkoittaa siirtymistä haarasta toiseen. Kun vaihdat haaraa, Git siirtää HEAD-osoittimen uuteen haaraan, jolloin voit työskennellä kyseisessä haarassa ja tehdä muutoksia vaikuttamatta muihin haaroihin.

Oletetaan esimerkiksi, että sinulla on sivukonttoreita feature-branch ja main. Vaihtaaksesi kohtaan feature-branch, käytä seuraavaa komentoa:

git checkout feature-branch

Haarojen vaihtamisen jälkeen voit tehdä muutoksia työhakemistoon. Kaikki commit, add, ja checkout komennot koskevat nykyistä haaraa.

Jos esimerkiksi lisäät uuden tiedoston ja vahvistat sen feature-branch, vain tämä haara sisältää vahvistuksen, mutta se main ei vaikuta. Tämän avulla voit kehittää erillisiä ominaisuuksia, korjata virheitä tai työstää koodin eri versioita itsenäisesti. Voit vaihtaa haarakonttoreiden välillä aina, kun tarvitset kutakin haaraa erikseen.