Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Commitien Palauttaminen | Muutosten Peruuttaminen
Gitin Perusteet

Commitien Palauttaminen

Pyyhkäise näyttääksesi valikon

Laajassa versionhallinnan maailmassa Git:in kanssa yksi yleisimmistä tilanteista on tarve kumota muutokset, jotka tietty commit on tuonut mukanaan. Syitä tähän voi olla useita, kuten virheen löytäminen, huomio siitä, ettei ominaisuus ole valmis tuotantoon, tai halu kokeilla toista lähestymistapaa.

Onneksi Git tarjoaa git revert -komennon, jolla voidaan luoda uusi commit, joka kumoaa tietyn commitin tekemät muutokset tekemällä kyseisten muutosten käänteisen version.

Viimeisimmän commitin palauttaminen

Viimeisimmän commitin palauttamiseksi käytä seuraavaa komentoa:

git revert HEAD
Note
Huomio

HEAD on osoitin nykyisen haaran viimeisimpään commit-merkintään.

Koska on vain yksi haara, HEAD osoittaa uusimpaan commitiin. Tämä komento luo uuden commitin, joka kumoaa edellisen commitin muutokset. Git avaa oletustekstieditorin, jotta commit-viestiä voi tarvittaessa muokata. Tallenna ja sulje editori viimeistelläksesi palautuksen.

Esimerkkityönkulku

Lisää ensin uusi rivi recipe.txt-tiedostoon seuraavalla vaiheella ja commitoi muutos suoraan, ohittaen välivaraston:

echo "8. Peel the eggs" > recipe.txt
git commit -a -m "Add another step to the recipe"
Muokkaus ja suora commitointi

Näytä nyt tämän commitin yksityiskohtaiset tiedot käyttämällä git show -komentoa yhdessä HEAD-viitteen kanssa:

git show HEAD
Viimeisin commit

Hups, kaikki aiemmat rivit poistettiin, koska käytettiin väärää tulostusoperaattoria — > sijaan olisi pitänyt käyttää >>, jolloin tiedosto ylikirjoitettiin. Ei hätää; käytä git revert -komentoa kumotaksesi nämä muutokset viimeisimmässä commitissa:

git revert HEAD
Viimeisimmän commitin palauttaminen

Kuten huomaat, oletuseditori avautuu (Vim tässä tapauksessa) ja näyttää oletuskommentin. Tällä kertaa jätä viesti ennalleen, mutta oikeissa projekteissa on suositeltavaa lisätä palautuksen syy, esimerkiksi:

Revert "Add another step to the recipe"
Reason for rollback: the recipe.txt was overwritten.    
This reverts commit b1148490543882f038069a0233a5d7e0b33f6221.
Note
Huomio

Tallentaaksesi muutokset ja poistuaksesi Vimistä, paina Escape-näppäintä ja kaksi kertaa isoa Z-kirjainta.

Lopuksi tarkastele kahden viimeisimmän commitin muutoksia:

git log -p -2
Kaksi uusinta committia

Kuten odotettua, luotiin uusi commit, joka sisältää käänteiset muutokset.

Note
Huomio

Käytä nuolinäppäimiä vierittääksesi ylös tai alas ja poistu painamalla q-näppäintä.

question mark

Mitä git revert HEAD -komento tekee Gitissä?

Valitse oikea vastaus

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 4

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

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

Osio 3. Luku 4
some-alt