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

bookYhdistämiskonfliktien Ratkaiseminen

Konfliktien korjaaminen

Edellisessä luvussa ilmeni yhdistämiskonflikti, joten nyt on aika korjata se. Avaa ensin branch_learning.txt-tiedosto Vim-editorissa seuraavalla komennolla:

Vimin avaaminen

Jos Vim ei ole asennettuna, voit käyttää muuta tekstieditoria, kuten nano tai atom, korvaamalla vim yllä olevassa komennossa editorisi nimellä.
On kuitenkin suositeltavaa käyttää Vimiä, jotta vaiheet vastaavat tässä esitettyjä ohjeita paremmin.

Tässä tiedosto avattuna Vim-editorissa:

Tiedosto, jossa on ristiriitoja avattuna Vimissä

Nyt näet ristiriitamerkinnät, jotka osoittavat ristiriitaiset kohdat.
Nämä merkinnät käyttävät nuolia ja erikoissymboleita korostaakseen haarojen välisiä eroja:

  • <<<<<<< HEAD: merkitsee nykyisen haaran (master) muutosten alun;
  • =======: erottaa nykyisen haaran (HEAD) muutokset yhdistettävän haaran muutoksista;
  • >>>>>>> feature/new-feature: merkitsee yhdistettävän haaran muutosten lopun.

Ristiriidan ratkaisemiseksi valitse jokin seuraavista vaihtoehdoista:

  • Säilytä nykyisen haaran (master) muutokset;
  • Säilytä yhdistetyn haaran (feature/new-feature) muutokset;
  • Muokkaa sisältöä manuaalisesti.

Muokkaa tiedostoa manuaalisesti yhdistämällä molempien haarojen muutokset seuraavien vaiheiden avulla:

1. Siirry muokkaustilaan

Siirry ensin insert-tilaan Vimissä painamalla i. Tämä mahdollistaa tekstin muokkaamisen.

2. Muokkaa ristiriitaista osiota

Seuraavaksi yhdistä molempien haarojen rivit peräkkäin. Tiedoston lopullisen sisällön tulisi näyttää seuraavalta:

Ristiriidan ratkaiseminen

3. Poistu muokkaustilasta, tallenna ja sulje

Paina Escape-näppäintä poistuaksesi syöttötilasta. Kirjoita sitten :wq ja paina Enter tallentaaksesi muutokset ja poistuaksesi Vim-editorista:

Poistutaan Vim-editorista

Tiedoston kommitointi

Koska konfliktit on ratkaistu, lisää branch_learning.txt -tiedosto staging-alueelle ja tarkista tila:

Ratkaistun tiedoston lisääminen

Tiedostoa muokattiin ja se lisättiin onnistuneesti väliaikaisalueelle. Seuraavaksi kommitoi se:

Tiedoston kommitointi

Jälleen kerran oletuseditori avautuu (Vim tässä tapauksessa) oletuskommitviestin kanssa, joka koskee yhdistämistä:

Oletus commit-viesti

Siirry insert-tilaan Vimissä painamalla i ja muokkaa viestiä lisäämällä rivi Kept lines from both branches kuvaamaan, miten konfliktit ratkaistiin.

Tässä on koko commit-viesti:

Poistu insert-tilasta, tallenna muutokset ja sulje Vim painamalla Escape-näppäintä, kirjoittamalla :wq ja painamalla Enter.

Tallennetun viestin säilyttäminen ja poistuminen Vimistä

Kommitointi onnistui, ja yhdistämisristiriita on nyt ratkaistu.

Tarkastellaan nyt kommenttihistoriaa graafina (--graph-lippu) siten, että jokainen kommit näkyy yhdellä rivillä (--oneline-lippu):

Commit-historian graafi

Tässä näet viimeisimmän yhdistämiskommitin sekä kolmisuuntaisen yhdistämisen tunnusomaisen rakenteen.

question mark

Mikä on suositeltu tapa ratkaista yhdistämiskonflikti Gitissä?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 4. Luku 6

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

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

Awesome!

Completion rate improved to 3.57

bookYhdistämiskonfliktien Ratkaiseminen

Pyyhkäise näyttääksesi valikon

Konfliktien korjaaminen

Edellisessä luvussa ilmeni yhdistämiskonflikti, joten nyt on aika korjata se. Avaa ensin branch_learning.txt-tiedosto Vim-editorissa seuraavalla komennolla:

Vimin avaaminen

Jos Vim ei ole asennettuna, voit käyttää muuta tekstieditoria, kuten nano tai atom, korvaamalla vim yllä olevassa komennossa editorisi nimellä.
On kuitenkin suositeltavaa käyttää Vimiä, jotta vaiheet vastaavat tässä esitettyjä ohjeita paremmin.

Tässä tiedosto avattuna Vim-editorissa:

Tiedosto, jossa on ristiriitoja avattuna Vimissä

Nyt näet ristiriitamerkinnät, jotka osoittavat ristiriitaiset kohdat.
Nämä merkinnät käyttävät nuolia ja erikoissymboleita korostaakseen haarojen välisiä eroja:

  • <<<<<<< HEAD: merkitsee nykyisen haaran (master) muutosten alun;
  • =======: erottaa nykyisen haaran (HEAD) muutokset yhdistettävän haaran muutoksista;
  • >>>>>>> feature/new-feature: merkitsee yhdistettävän haaran muutosten lopun.

Ristiriidan ratkaisemiseksi valitse jokin seuraavista vaihtoehdoista:

  • Säilytä nykyisen haaran (master) muutokset;
  • Säilytä yhdistetyn haaran (feature/new-feature) muutokset;
  • Muokkaa sisältöä manuaalisesti.

Muokkaa tiedostoa manuaalisesti yhdistämällä molempien haarojen muutokset seuraavien vaiheiden avulla:

1. Siirry muokkaustilaan

Siirry ensin insert-tilaan Vimissä painamalla i. Tämä mahdollistaa tekstin muokkaamisen.

2. Muokkaa ristiriitaista osiota

Seuraavaksi yhdistä molempien haarojen rivit peräkkäin. Tiedoston lopullisen sisällön tulisi näyttää seuraavalta:

Ristiriidan ratkaiseminen

3. Poistu muokkaustilasta, tallenna ja sulje

Paina Escape-näppäintä poistuaksesi syöttötilasta. Kirjoita sitten :wq ja paina Enter tallentaaksesi muutokset ja poistuaksesi Vim-editorista:

Poistutaan Vim-editorista

Tiedoston kommitointi

Koska konfliktit on ratkaistu, lisää branch_learning.txt -tiedosto staging-alueelle ja tarkista tila:

Ratkaistun tiedoston lisääminen

Tiedostoa muokattiin ja se lisättiin onnistuneesti väliaikaisalueelle. Seuraavaksi kommitoi se:

Tiedoston kommitointi

Jälleen kerran oletuseditori avautuu (Vim tässä tapauksessa) oletuskommitviestin kanssa, joka koskee yhdistämistä:

Oletus commit-viesti

Siirry insert-tilaan Vimissä painamalla i ja muokkaa viestiä lisäämällä rivi Kept lines from both branches kuvaamaan, miten konfliktit ratkaistiin.

Tässä on koko commit-viesti:

Poistu insert-tilasta, tallenna muutokset ja sulje Vim painamalla Escape-näppäintä, kirjoittamalla :wq ja painamalla Enter.

Tallennetun viestin säilyttäminen ja poistuminen Vimistä

Kommitointi onnistui, ja yhdistämisristiriita on nyt ratkaistu.

Tarkastellaan nyt kommenttihistoriaa graafina (--graph-lippu) siten, että jokainen kommit näkyy yhdellä rivillä (--oneline-lippu):

Commit-historian graafi

Tässä näet viimeisimmän yhdistämiskommitin sekä kolmisuuntaisen yhdistämisen tunnusomaisen rakenteen.

question mark

Mikä on suositeltu tapa ratkaista yhdistämiskonflikti Gitissä?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 4. Luku 6
some-alt