Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Tietovarastojen Synkronointi | Edistyneemmät Työnkulut
Githubin Perusteet

Tietovarastojen Synkronointi

Pyyhkäise näyttääksesi valikon

Kuten edellisessä luvussa mainittiin, meidän täytyy synkronoida paikallinen haara etävaraston kanssa. Tämän tekemiseksi tulee suorittaa git pull -komento:

git pull
Noutoyritys

Kun suoritimme git pull -komennon, Git haki päivitykset mutta huomasi, että paikallinen ja etähaara ovat eriytyneet, eli molemmissa haaroissa on muutoksia, jotka täytyy sovittaa yhteen. Git ei voinut jatkaa, koska sen täytyy tietää, miten nämä erot käsitellään, joten asetetaan merge-vaihtoehto ja suoritetaan git pull -komento uudelleen:

git config pull.rebase false
Note
Huomio

Käsittelemme rebase-toiminnon myöhemmin tällä kurssilla.

git pull
Yhdistämisristiriita

Git yritti automaattisesti yhdistää paikalliset ja etämuutokset tiedostoon README.md, mutta kohtasi yhdistämisristiriidan. Tarkastellaan commit-puuta, joka osoittaa, missä haarautuminen ja ristiriidat ovat tapahtuneet:

git log --graph --oneline --all
Commit-puu

Ristiriidan ratkaiseminen

Kuten näet, nykyinen paikallinen commit ja etä main-haaran commit jakavat yhteisen esi-isän, mutta haarautuvat, mikä johtaa yhdistämisristiriitaan, joka täytyy ratkaista. Tämän tekemiseksi avaamme README.md-tiedoston Vim-editorissa:

vim README.md
Ristiriidat Vimissä

Tämän ristiriidan ratkaisemiseksi siirrytään insert-tilaan painamalla i, poistetaan ristiriitamerkinnät ja yhdistetään muutokset seuraavalla tavalla:

Ratkaistu ristiriita

Seuraavaksi paina Escape-näppäintä, kirjoita :wq ja paina Enter-näppäintä tallentaaksesi muutokset ja poistuaksesi Vim-editorista. Nyt yhdistämisen viimeistelemiseksi README.md-tiedosto täytyy lisätä väliaikaisalueelle ja sitten kommitoida seuraavilla komennoilla:

git add README.md
git commit
Note
Huomio

Kun suoritat git commit -komennon, oletustekstieditori avautuu (yleensä Vim). Voit joko jättää oletuskommentin ja poistua Vim-editorista samalla tavalla kuin aiemmin, tai muokata viestiä ja poistua sen jälkeen.

Yhdistetyn tiedoston kommitointi

Lopuksi voimme turvallisesti suorittaa git push -komennon ja varmistaa, että kolmisuuntainen yhdistäminen onnistui näyttämällä commit-puun:

git log --graph --oneline --all
Commit-puu

Käydään läpi, mitä teimme näissä kahdessa luvussa:

  1. Simuloimme yhteistyötä tekemällä muutoksia sekä paikallisesti että etänä README.md-tiedostoon;

  2. Teimme ensin muutoksen suoraan etärepositorioon ja sitten toisen muutoksen paikallisesti;

  3. Kun yritimme puskea paikalliset muutokset, kohtasimme ristiriidan, koska etärepositoriossa oli uusia päivityksiä;

  4. Ratkaistaksemme tämän haimme muutokset etärepositoriosta, mikä johti yhdistämisristiriitaan;

  5. Ratkaisimme sitten ristiriidan manuaalisesti README.md-tiedostossa Vim-editorilla, committoimme ratkaistut muutokset ja lopuksi puskimme lopulliset päivitykset etärepositorioon.

question mark

Mikä komento asettaa Gitin käyttämään mergeä (ei rebasea) git pull -komennossa?

Valitse oikea vastaus

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 2

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

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

Osio 3. Luku 2
some-alt