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
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"
Näytä nyt tämän commitin yksityiskohtaiset tiedot käyttämällä git show -komentoa yhdessä HEAD-viitteen kanssa:
git show HEAD
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
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.
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
Kuten odotettua, luotiin uusi commit, joka sisältää käänteiset muutokset.
Käytä nuolinäppäimiä vierittääksesi ylös tai alas ja poistu painamalla q-näppäintä.
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme