Tietyn Commitin Palauttaminen
git revert
Palauta tietty commit käyttämällä komentoa git revert.
Tämä komento luo uuden commitin, joka kumoaa määritetyn commitin tekemät muutokset.
Perussyntaksi:
git revert <commit-hash>
Sen sijaan, että käyttäisit HEAD (joka kohdistuu viimeisimpään commitiin), määritä palautettavan commitin hash (commit ID) korvaamalla <commit-hash> todellisella hash-arvolla.
Lisätietoa hasheista
Jokaisella commitilla on yksilöllinen tunniste — 40-merkkinen heksadesimaalinen merkkijono, joka koostuu numeroista (0–9) ja kirjaimista (a–f). Tätä tunnistetta kutsutaan hashiksi. Näytä nyt viimeisin commit:
Tässä on sen hash-arvo:
1b00736255dca7d78659a9971d0c30fba0eb3075
Sinulla tulee olemaan eri hash-arvo tälle commitille alla selitetystä syystä.
Commitin hash-arvo lasketaan SHA-1 -algoritmilla seuraavien tietojen perusteella:
- Commit-viesti;
- Päivämäärä;
- Tekijä;
- Työpuun tilanne;
- Edeltävän commitin hash-arvo (tai useamman, jos commitilla on useampi kuin yksi vanhempi).
Jos commit on ensimmäinen repositoriossa, edeltävän commitin hash-arvoa ei luonnollisesti lasketa.
Koska kaikki nämä commitin tiedot käytetään hashin laskemiseen, hashien käyttäminen commit-tunnisteina takaa repositorion yhtenäisyyden. Lisäksi kahden eri commitin osuessa samaan hash-arvoon (törmäys) on äärimmäisen epätodennäköistä, joten se tapahtuu harvoin sattumalta.
Käytännössä, jos commitissa muutetaan mitään, myös sen hash muuttuu. Tämä tarkoittaa, että jos data jostain syystä vioittuu, Git voi käyttää hashia tunnistaakseen tämän.
Kun commitia muokataan jälkikäteen, commit-tunniste muuttuu. Tämän vuoksi git commit --amend -komentoa ei suositella käytettäväksi etärepositorioiden kanssa työskenneltäessä.
Esimerkkityönkulku
Ennen kuin päätetään, mikä commit palautetaan, tarkastellaan neljää viimeisintä commitia:
On olemassa commit, jossa recipe.txt-tiedosto lisättiin.
Palauta tämä commit luodaksesi uuden commitin, joka kumoaa nämä muutokset ja poistaa tiedoston.
Tässä esimerkissä commitin hash on:
043b634d76a7a7744757350512b6367417c29e0
Oma commit-hashisi on erilainen. Nyt palauta tämä commit:
Korvaa tämä hash omallasi.
Oletuseditori avautuu jälleen, ja siinä näkyy oletuspalautusviesti. Jätä viesti muuttamatta.
Sulje seuraavaksi tekstieditori asianmukaisesti ja näytä viimeisimmän commitin tekemät muutokset:
7 poistamista tapahtui, eli kaikki tiedoston seitsemän riviä poistettiin. Varmista nyt, että tiedosto itse poistettiin listaamalla kaikki ei-piilotetut tiedostot ja kansiot projektihakemistossa:
recipe.txt-tiedosto on poistettu onnistuneesti.
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Awesome!
Completion rate improved to 3.57
Tietyn Commitin Palauttaminen
Pyyhkäise näyttääksesi valikon
git revert
Palauta tietty commit käyttämällä komentoa git revert.
Tämä komento luo uuden commitin, joka kumoaa määritetyn commitin tekemät muutokset.
Perussyntaksi:
git revert <commit-hash>
Sen sijaan, että käyttäisit HEAD (joka kohdistuu viimeisimpään commitiin), määritä palautettavan commitin hash (commit ID) korvaamalla <commit-hash> todellisella hash-arvolla.
Lisätietoa hasheista
Jokaisella commitilla on yksilöllinen tunniste — 40-merkkinen heksadesimaalinen merkkijono, joka koostuu numeroista (0–9) ja kirjaimista (a–f). Tätä tunnistetta kutsutaan hashiksi. Näytä nyt viimeisin commit:
Tässä on sen hash-arvo:
1b00736255dca7d78659a9971d0c30fba0eb3075
Sinulla tulee olemaan eri hash-arvo tälle commitille alla selitetystä syystä.
Commitin hash-arvo lasketaan SHA-1 -algoritmilla seuraavien tietojen perusteella:
- Commit-viesti;
- Päivämäärä;
- Tekijä;
- Työpuun tilanne;
- Edeltävän commitin hash-arvo (tai useamman, jos commitilla on useampi kuin yksi vanhempi).
Jos commit on ensimmäinen repositoriossa, edeltävän commitin hash-arvoa ei luonnollisesti lasketa.
Koska kaikki nämä commitin tiedot käytetään hashin laskemiseen, hashien käyttäminen commit-tunnisteina takaa repositorion yhtenäisyyden. Lisäksi kahden eri commitin osuessa samaan hash-arvoon (törmäys) on äärimmäisen epätodennäköistä, joten se tapahtuu harvoin sattumalta.
Käytännössä, jos commitissa muutetaan mitään, myös sen hash muuttuu. Tämä tarkoittaa, että jos data jostain syystä vioittuu, Git voi käyttää hashia tunnistaakseen tämän.
Kun commitia muokataan jälkikäteen, commit-tunniste muuttuu. Tämän vuoksi git commit --amend -komentoa ei suositella käytettäväksi etärepositorioiden kanssa työskenneltäessä.
Esimerkkityönkulku
Ennen kuin päätetään, mikä commit palautetaan, tarkastellaan neljää viimeisintä commitia:
On olemassa commit, jossa recipe.txt-tiedosto lisättiin.
Palauta tämä commit luodaksesi uuden commitin, joka kumoaa nämä muutokset ja poistaa tiedoston.
Tässä esimerkissä commitin hash on:
043b634d76a7a7744757350512b6367417c29e0
Oma commit-hashisi on erilainen. Nyt palauta tämä commit:
Korvaa tämä hash omallasi.
Oletuseditori avautuu jälleen, ja siinä näkyy oletuspalautusviesti. Jätä viesti muuttamatta.
Sulje seuraavaksi tekstieditori asianmukaisesti ja näytä viimeisimmän commitin tekemät muutokset:
7 poistamista tapahtui, eli kaikki tiedoston seitsemän riviä poistettiin. Varmista nyt, että tiedosto itse poistettiin listaamalla kaikki ei-piilotetut tiedostot ja kansiot projektihakemistossa:
recipe.txt-tiedosto on poistettu onnistuneesti.
Kiitos palautteestasi!