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

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 editorisi nimellä yllä olevassa komennossa.
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 Vimistä:

Poistuminen Vim-editorista

Tiedoston kommitointi

Koska ristiriidat 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 suorita commit:

Tiedoston commitoiminen

Jälleen kerran oletuseditori avautuu (Vim tässä tapauksessa) oletusviestillä, 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:

Poistuaksesi insert-tilasta, tallenna muutokset ja sulje Vim painamalla Escape-näppäintä, kirjoita :wq ja paina Enter.

Tallennetun viestin tallentaminen ja poistuminen Vimistä

Kommitointi onnistui, ja yhdistämisristiriita on nyt ratkaistu.

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

Commit-historian kaavio

Tässä näkyy viimeisin yhdistämiskommit sekä kolmisuuntaisen yhdistämisen tunnusomainen rakenne.

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 editorisi nimellä yllä olevassa komennossa.
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 Vimistä:

Poistuminen Vim-editorista

Tiedoston kommitointi

Koska ristiriidat 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 suorita commit:

Tiedoston commitoiminen

Jälleen kerran oletuseditori avautuu (Vim tässä tapauksessa) oletusviestillä, 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:

Poistuaksesi insert-tilasta, tallenna muutokset ja sulje Vim painamalla Escape-näppäintä, kirjoita :wq ja paina Enter.

Tallennetun viestin tallentaminen ja poistuminen Vimistä

Kommitointi onnistui, ja yhdistämisristiriita on nyt ratkaistu.

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

Commit-historian kaavio

Tässä näkyy viimeisin yhdistämiskommit sekä kolmisuuntaisen yhdistämisen tunnusomainen rakenne.

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 4. Luku 6
some-alt