Commitien Palauttaminen
Laajassa versionhallinnan maailmassa Git:in kanssa yksi yleinen tilanne on tarve kumota muutokset, jotka tietty commit on tuonut mukanaan. Syitä tähän voi olla useita, kuten virheen löytäminen, sen huomaaminen, että ominaisuus ei ole valmis tuotantoon, tai halu kokeilla toista lähestymistapaa.
Onneksi Git tarjoaa git revert -komennon, jolla voidaan luoda uusi commit, joka kumoaa tietyn commitin tuomat 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 commit-viestin muokkaamista varten tarvittaessa. Tallenna ja sulje editori viimeistelläksesi palautuksen.
Esimerkkityönkulku
Lisää ensin uusi rivi tiedostoon recipe.txt seuraavalla vaiheella ja commitoi muutos suoraan, ohittaen välivaraston:
Näytä nyt tämän commitin yksityiskohtaiset tiedot käyttämällä komentoa git show yhdessä HEAD-viitteen kanssa:
Hups, kaikki aiemmat rivit poistettiin, koska käytettiin väärää tulostusoperaattoria — > >>:n sijaan, mikä korvasi tiedoston.
Ei hätää; käytä komentoa git revert kumotaksesi nämä muutokset viimeisimmässä commitissa:
Kuten huomaat, oletustekstieditori avautuu (Vim tässä tapauksessa) ja näyttää oletuscommit-viestin. Tällä kertaa jätä viesti ennalleen, mutta todellisissa projekteissa on suositeltavaa lisätä palautuksen syy, esimerkiksi:
Tallentaaksesi muutokset ja poistuaksesi Vimistä, paina Escape-näppäintä ja kaksi isoa Z-kirjainta.
Lopuksi tarkastele kahden viimeisimmän commitin muutoksia:
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
Can you explain what happens if there are conflicts during a git revert?
How is git revert different from git reset?
What should I do if I want to revert an older commit, not just the latest one?
Awesome!
Completion rate improved to 3.57
Commitien Palauttaminen
Pyyhkäise näyttääksesi valikon
Laajassa versionhallinnan maailmassa Git:in kanssa yksi yleinen tilanne on tarve kumota muutokset, jotka tietty commit on tuonut mukanaan. Syitä tähän voi olla useita, kuten virheen löytäminen, sen huomaaminen, että ominaisuus ei ole valmis tuotantoon, tai halu kokeilla toista lähestymistapaa.
Onneksi Git tarjoaa git revert -komennon, jolla voidaan luoda uusi commit, joka kumoaa tietyn commitin tuomat 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 commit-viestin muokkaamista varten tarvittaessa. Tallenna ja sulje editori viimeistelläksesi palautuksen.
Esimerkkityönkulku
Lisää ensin uusi rivi tiedostoon recipe.txt seuraavalla vaiheella ja commitoi muutos suoraan, ohittaen välivaraston:
Näytä nyt tämän commitin yksityiskohtaiset tiedot käyttämällä komentoa git show yhdessä HEAD-viitteen kanssa:
Hups, kaikki aiemmat rivit poistettiin, koska käytettiin väärää tulostusoperaattoria — > >>:n sijaan, mikä korvasi tiedoston.
Ei hätää; käytä komentoa git revert kumotaksesi nämä muutokset viimeisimmässä commitissa:
Kuten huomaat, oletustekstieditori avautuu (Vim tässä tapauksessa) ja näyttää oletuscommit-viestin. Tällä kertaa jätä viesti ennalleen, mutta todellisissa projekteissa on suositeltavaa lisätä palautuksen syy, esimerkiksi:
Tallentaaksesi muutokset ja poistuaksesi Vimistä, paina Escape-näppäintä ja kaksi isoa Z-kirjainta.
Lopuksi tarkastele kahden viimeisimmän commitin muutoksia:
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!