Kurssisisältö
Githubin Perusteet
Githubin Perusteet
Rebase-operaation Suorittaminen
Muutosten uudelleensijoittaminen main-haaraan
Ennen kuin voimme uudelleensijoittaa muutoksemme, meidän täytyy ensin siirtyä main
-haaraan ja noutaa viimeisimmät muutokset:
Tarkastellaan nyt commit-puuta:
Tällä hetkellä sekä main
- että feature/payment
-haaroissa on commiteja viimeisimmän yhteisen esi-isän jälkeen. Tämä tarkoittaa, että fast-forward-yhdistäminen ei ole mahdollista.
Jos yhdistäisimme nämä haarat, tapahtuisi kolmitieyhdistäminen. Haluamme kuitenkin säilyttää historian lineaarisena, joten suoritetaan feature/payment
-haaran uudelleensijoittaminen main
-haaraan. Tämä onnistuu siirtymällä feature/payment
-haaraan ja suorittamalla git rebase
-komento:
Fast-forward-yhdistäminen
Koska uudelleensijoitus (rebase) onnistui, tarkastellaanpa jälleen kommittipuutamme:
Kuten odotettua, komittihistoria on nyt lineaarinen ja uusin komitti on feature/payment
-haarassa. Nyt voimme suorittaa yksinkertaisen fast-forward-yhdistämisen main
-haaraan:
Varmistetaan, että molemmat haarat osoittavat samaan komittiin tarkastelemalla uusinta komittia:
Ominaisuushaaran poistaminen
main
-haara sisältää nyt uusimman commitin, jossa maksujärjestelmä on toteutettu, joten voimme turvallisesti poistaa sekä paikallisen että etäisen feature/payment
-haaran. Seuraava komento poistaa etähaaran:
Nyt voimme poistaa paikallisen haaran:
Lopuksi kaikki tekemämme muutokset voidaan puskea takaisin etävarastoon:
Varmistaaksesi, että feature-haara on poistettu sekä paikallisesti että etänä, voit suorittaa seuraavan komennon, joka listaa kaikki (-a
tarkoittaa kaikkia) paikalliset ja etähaarat:
Kuten näet, feature/payment
-haara on onnistuneesti poistettu, ja nyt on jäljellä vain kaksi haaraa: main
ja john/test
sekä niiden etävastineet.
Yleisesti ottaen rebase toimii hyvin paikallisille muutoksille, joita ei ole vielä jaettu, mutta se voi aiheuttaa merkittäviä ongelmia muutoksille, jotka on jo julkaistu etävarastoon ja mahdollisesti ladattu muiden yhteistyökumppaneiden toimesta. Sellaisten commitien uudelleenkäsittely, joita muut käyttävät, voi aiheuttaa sekaannusta ja ristiriitoja, koska commit-historiaa kirjoitetaan uudelleen.
Yleisenä sääntönä vältä rebasaamasta muutoksia, jotka on työnnetty etävarastoihin, jotta nämä ongelmat voidaan välttää.
Kiitos palautteestasi!