Haaroiden Yhdistäminen
Pyyhkäise näyttääksesi valikon
Yhdistäminen haaroissa
Gitissä yhdistäminen tarkoittaa muutosten integroimista yhdestä haarasta toiseen. Yleisin käyttötapa on ominaisuus-haarojen yhdistäminen päähaaraan (esim. main tai master). Tämä varmistaa, että uusimmat ominaisuudet ja virheenkorjaukset sisällytetään pääkoodipohjaan.
Perus yhdistämistyönkulku
Näytä ensin kaksi viimeisintä commitia.
Muista, että olet tällä hetkellä haarassa feature/new-feature.
git log -n 2
Kuten huomaat, master-haara on yhden commitin jäljessä.
Ennen yhdistämistä sinun täytyy vaihtaa siihen haaraan, johon muutokset integroidaan.
Vaihda master-haaraan ja näytä sen kaksi viimeisintä commitia:
git checkout master
git log -n 2
master-haara on todellakin yhden commitin jäljessä feature-haarasta.
Haarojen yhdistämiseen käytetään komentoa git merge ja määritetään haara, joka yhdistetään nykyiseen haaraan.
Esimerkiksi yhdistääksesi feature/new-feature-haaran master-haaraan, suorita:
git merge feature/new-feature
Komennon suorittamisen jälkeen näytettävä viesti sisältää seuraavan: Fast-forward, joka ilmaisee, että suoritettiin fast-forward-yhdistäminen.
Tässä luvussa tutustut kahteen erilaiseen yhdistämistapaan. Ennen sitä tarkastele kahta viimeisintä committia:
git log -n 2
Olet yhä master-haarassa, mutta se on nyt ajan tasalla feature-haaran kanssa, ja molemmat haarat osoittavat samaan committiin.
HEAD osoittaa yhä master-haaraan, koska olit tällä haaralla suorittaessasi yhdistämisen.
Yhdistämistyypit
Gitissä on kaksi yhdistämisoperaatiotyyppiä:
- Fast-forward-yhdistäminen;
- Kolmitieyhdistäminen.
Fast-forward-yhdistäminen
Suorittamasi yhdistäminen on fast-forward-yhdistäminen, kuten viestissä mainitaan. Tämä tyyppi tapahtuu, kun kaikki nykyisellä haaralla olevat commitit ovat myös yhdistettävässä haarassa, eli commit-historiat eivät poikkea toisistaan.
Katso seuraavaa havainnollistavaa kuvaa selvennykseksi:
Tässä yhdistämistyypissä tarkastellun haaran osoitin päivitetään yksinkertaisesti viimeisimpään kommitiin.
Kolmisuuntainen yhdistäminen
Jos haarojen historia on eriytynyt, eli yhteisen kommitin jälkeen molemmille haaroille on tehty omia committeja, suoritetaan kolmisuuntainen yhdistäminen.
Termi "kolmisuuntainen" viittaa yhdistämisessä mukana oleviin kolmeen versioon:
- Viimeisimmän yhteisen esi-isän (commitin) versio;
- Nykyisen haaran (HEAD) viimeisimmän commitin versio;
- Yhdistettävän haaran viimeisimmän commitin versio.
Katso seuraavaa havainnollistavaa kuvaa tästä yhdistämistyypistä:
Näin kolmitieyhdistäminen toimii:
- Git tunnistaa kummankin haaran muutokset viimeisimmän yhteisen esi-isän jälkeen;
- Jos kummallakin haaralla on muutoksia eri tiedostoissa tai saman tiedoston eri osissa, Git yhdistää muutokset automaattisesti yhdistämällä ne lopulliseen commitiin;
- Muussa tapauksessa syntyy yhdistämisristiriita.
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme