Yhdistämisristiriitojen 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:
vim branch_learning.txt
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 ohjeiden seuraaminen olisi helpompaa.
Tässä tiedosto avattuna Vim-editorissa:
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 lopun yhdistettävän haaran muutoksista.
Ristiriidan ratkaisemiseksi valitse jokin seuraavista vaihtoehdoista:
- Säilytä nykyisen haaran (
master) muutokset; - Säilytä yhdistetyn haaran (
feature/new-feature) muutokset; - Muokkaa manuaalisesti sisältöä.
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ää tältä:
New branch
New line from the master branch
New line from the feature branch
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:
Tiedoston kommitointi
Koska konfliktit on ratkaistu, lisää branch_learning.txt -tiedosto staging-alueelle ja tarkista tila:
git add branch_learning.txt
git status
Tiedostoa muokattiin ja se lisättiin onnistuneesti väliaikaisalueelle. Seuraavaksi commit-toiminto:
git commit
Jälleen kerran oletustekstieditori avautuu (Vim tässä tapauksessa) oletuskommentilla liittyen yhdistämiseen:
Siirry insert-tilaan Vimissä painamalla i ja muokkaa viestiä lisäämällä rivi
Kept lines from both branches
kuvaamaan, miten ristiriidat ratkaistiin.
Tässä on koko yhdistämiskommentti:
Merge branch 'feature/new-feature'
Kept lines from both branches
Poistuaksesi syöttötilasta, tallentaaksesi muutokset ja sulkeaksesi Vim-editorin, paina Escape-näppäintä, kirjoita :wq ja paina Enter.
Kommitointi onnistui ja yhdistämiskonflikti on nyt ratkaistu.
Tarkastellaan nyt commit-historiaamme graafina (--graph-lippu) siten, että jokainen commit näkyy yhdellä rivillä (--oneline-lippu):
git log --graph --oneline
Tässä näet viimeisimmän yhdistämiskommitin sekä kolmisuuntaisen yhdistämisen tunnusomaisen rakenteen.
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme