Haaroiden 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.

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:

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:

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:

Olet yhä master
-haarassa, mutta se on nyt ajan tasalla feature-haaran kanssa, ja molemmat haarat osoittavat samaan commitiin.
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:
- 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 tuloksena olevaan commitiin;
- Muussa tapauksessa syntyy yhdistämisristiriita.
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
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
Haaroiden 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.

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:

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:

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:

Olet yhä master
-haarassa, mutta se on nyt ajan tasalla feature-haaran kanssa, ja molemmat haarat osoittavat samaan commitiin.
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:
- 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 tuloksena olevaan commitiin;
- Muussa tapauksessa syntyy yhdistämisristiriita.
Kiitos palautteestasi!