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ä
Git Essentials

bookHaaroiden Yhdistäminen

Ymmärrys haarojen yhdistämisestä

Gitissä yhdistäminen (merging) 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

Tarkastele ensin kahta viimeisintä commitia. Muista, että olet tällä hetkellä feature/new-feature-haarassa.

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ä committia:

Siirtyminen master-haaraan ja kahden viimeisimmän commitin näyttäminen

master-haara on todellakin yhden commitin jäljessä feature-haaraa. Yhdistämistä varten käytä komentoa git merge ja määritä haara, joka yhdistetään nykyiseen haaraan. Esimerkiksi yhdistääksesi feature/new-feature-haaran master-haaraan, suorita:

Yhdistäminen
Note
Huomio

Komennon suorittamisen jälkeen näytettävä viesti sisältää seuraavan: Fast-forward, joka osoittaa, että fast-forward-yhdistäminen suoritettiin.

Tässä luvussa tarkastellaan myöhemmin kahta yhdistämistyyppiä. Ennen sitä tarkastele kahta viimeisintä commitia:

Kaksi uusinta committia yhdistämisen jälkeen

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

Note
Huomio

HEAD osoittaa edelleen master-haaraan, koska olit tässä haarassa suorittaessasi yhdistämisen.

Yhdistämistyypit

Gitissä on kaksi yhdistämistoimintoa:

  • Fast-forward-yhdistäminen;
  • Kolmisuuntainen yhdistä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 ole eriytyneet.

Katso seuraavaa havainnollistavaa kuvaa selvennykseksi:

Tässä yhdistämistyypissä tarkastellun haaran osoitin päivitetään yksinkertaisesti viimeisimpään commitiin.

Kolmisuuntainen yhdistäminen

Jos haarojen historia on kuitenkin eriytynyt, eli yhteisen commitin jälkeen molemmille haaroille on tehty uusia committeja erikseen, suoritetaan kolmisuuntainen yhdistäminen.

Termi "kolmisuuntainen" viittaa yhdistämisessä mukana oleviin kolmeen versioon:

  • viimeisimmän yhteisen esi-isän (commitin) versio;
  • nykyisen haaran viimeisimmän commitin (HEAD) 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 tuloksena olevaan commitiin;
  3. Muussa tapauksessa syntyy yhdistämisristiriita.
question mark

Valitse kaikki yhdistämistyypit.

Select the correct answer

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

Suggested prompts:

What is the difference between a fast-forward merge and a three-way merge?

Can you explain what a merge conflict is and how to resolve it?

Can you give an example of when a three-way merge would occur?

Awesome!

Completion rate improved to 3.57

bookHaaroiden Yhdistäminen

Pyyhkäise näyttääksesi valikon

Ymmärrys haarojen yhdistämisestä

Gitissä yhdistäminen (merging) 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

Tarkastele ensin kahta viimeisintä commitia. Muista, että olet tällä hetkellä feature/new-feature-haarassa.

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ä committia:

Siirtyminen master-haaraan ja kahden viimeisimmän commitin näyttäminen

master-haara on todellakin yhden commitin jäljessä feature-haaraa. Yhdistämistä varten käytä komentoa git merge ja määritä haara, joka yhdistetään nykyiseen haaraan. Esimerkiksi yhdistääksesi feature/new-feature-haaran master-haaraan, suorita:

Yhdistäminen
Note
Huomio

Komennon suorittamisen jälkeen näytettävä viesti sisältää seuraavan: Fast-forward, joka osoittaa, että fast-forward-yhdistäminen suoritettiin.

Tässä luvussa tarkastellaan myöhemmin kahta yhdistämistyyppiä. Ennen sitä tarkastele kahta viimeisintä commitia:

Kaksi uusinta committia yhdistämisen jälkeen

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

Note
Huomio

HEAD osoittaa edelleen master-haaraan, koska olit tässä haarassa suorittaessasi yhdistämisen.

Yhdistämistyypit

Gitissä on kaksi yhdistämistoimintoa:

  • Fast-forward-yhdistäminen;
  • Kolmisuuntainen yhdistä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 ole eriytyneet.

Katso seuraavaa havainnollistavaa kuvaa selvennykseksi:

Tässä yhdistämistyypissä tarkastellun haaran osoitin päivitetään yksinkertaisesti viimeisimpään commitiin.

Kolmisuuntainen yhdistäminen

Jos haarojen historia on kuitenkin eriytynyt, eli yhteisen commitin jälkeen molemmille haaroille on tehty uusia committeja erikseen, suoritetaan kolmisuuntainen yhdistäminen.

Termi "kolmisuuntainen" viittaa yhdistämisessä mukana oleviin kolmeen versioon:

  • viimeisimmän yhteisen esi-isän (commitin) versio;
  • nykyisen haaran viimeisimmän commitin (HEAD) 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 tuloksena olevaan commitiin;
  3. Muussa tapauksessa syntyy yhdistämisristiriita.
question mark

Valitse kaikki yhdistämistyypit.

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 4. Luku 4
some-alt