Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Haaroiden Yhdistäminen | Työskentely Haarojen Kanssa Gitissä
Gitin Perusteet

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
Kaksi uusinta committia ominaisuusharassa

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-haaraan siirtyminen ja kahden viimeisimmän commitin näyttäminen

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
Haarojen yhdistäminen
Note
Huomio

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
Kaksi viimeisintä committia yhdistämisen jälkeen

Olet yhä master-haarassa, mutta se on nyt ajan tasalla feature-haaran kanssa, ja molemmat haarat osoittavat samaan committiin.

Note
Huomio

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:

  1. Git tunnistaa kummankin haaran muutokset viimeisimmän yhteisen esi-isän jälkeen;
  2. Jos kummallakin haaralla on muutoksia eri tiedostoissa tai saman tiedoston eri osissa, Git yhdistää muutokset automaattisesti yhdistämällä ne lopulliseen commitiin;
  3. Muussa tapauksessa syntyy yhdistämisristiriita.
question mark

Valitse kaikki yhdistämistyypit.

Valitse kaikki oikeat vastaukset

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 4. Luku 4

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

Osio 4. Luku 4
some-alt