Versionhallintaohjelmistona Git tekee muutosten peruuttamisesta ennustettavasti helppoa. Mutta jopa muutoksen peruuttamisen käsite on monimutkaisempi kuin aluksi luulisi. Git-arkisto ei ole aivan sama asia kuin tiedostojoukko, jonka parissa työskentelet paikallisesti. Muutosten kumoaminen tarkoittaa, että harkitset tarkasti, missä haluat kumota ne.
gitTarkista, git reset, ja gitpalauttaa ovat komentoja, jotka voivat auttaa sinua palaamaan aiempaan versioon ei vain koodikannastasi, vaan myös yksittäisistä tiedostoista. Tutustu näiden komentojen yksityiskohtiin ja hyppää tiedostohistoriaasi asiantuntijana hetkessä.
Mitä tiedoston nollaus joka tapauksessa tarkoittaa?
On tärkeää huomata, että tiedoston palauttaminen voi tarkoittaa eri asioita eri ihmisille eri olosuhteissa. Myös, git reset -komento ei välttämättä vastaa odotuksiasi palautuksen merkityksestä.
Joskus haluat kumota paikalliset muutokset, jotta tiedosto on jälleen synkronoitu nykyisen arkiston kanssa. Muissa tapauksissa saatat haluta peruuttaa muutokset, jotka olet jo sitoutunut arkistoon.
Seuraavat termit ovat avainasemassa eron ymmärtämisessä: työpuu, esitysalue ja arkisto. Paikallisesti muokkaamasi tiedostot kuuluvat työpuuhun. Toimittamasi tiedostot päätyvät lopulta arkistoon. Kun olet kokoamassa muutoksia, asetat tiedostot vaiheittaiseksi. Tiedostolla voi olla eri sisältö kussakin näistä paikoista.
Katso myös: Advanced Git Tutorial
Voit ajatella tiedoston nollaamista muutosten kumoamisena. Mutta tiedostosi tila määrittää, mitä muutoksia todella kumoat. Ilmeinen tapaus on, kun teet joitain muutoksia, sitoudut niihin ja päätät myöhemmin, ettet halua niitä enää.
Toinen tapaus voi olla, että olet lavastanut tiedoston ja haluat nyt poistaa sen vaiheen.
Kuinka voin palauttaa aiemmin sitoutuneen tiedoston?
Käsitellään tapausta, joka on helpompi ymmärtää: sitoit tiedoston ja haluat nyt peruuttaa siihen tehdyt muutokset.
Git-komento tämän tekemiseksi on nimetty hieman epäintuitiivisesti Tarkista. Olet ehkä käyttänyt Tarkista ennen haaran vaihtamista, mutta se on pieni osa siitä, mitä komento voi tehdä. Sen avulla voit myös päivittää työpuussasi olevia tiedostoja vastaamaan niitä missä tahansa arkiston historiassa. Voit tehdä tämän tietylle tunnisteelle, haaralle tai jopa tietylle sitoumukselle.
Tämän komennon hyödyllisin, yleiskäyttöisin muoto on:
git checkout [commit ID] -- polku/tiedostoon
Tässä ohitamme tietyn polun (polku/to/tiedosto), joka tunnistaa vain yhden tiedoston. Määritämme myös toimitustunnuksen saadaksemme tiedoston sellaisena kuin se oli kyseisessä toimituksessa. Tämä komento päivittää tiedoston vain työpuussamme.
Huomaa, että tiedoston aikaisemman version tarkistaminen muokkaa työkopiota ilman sitoutumista tai edes lavastusta. Jotta arkiston kumoaminen voidaan suorittaa kokonaan, sinun on vaiheistettava tiedosto ja luotava uusi toimitus.
Katso myös: Projektin historian tarkastaminen git-lokin avulla
Kuinka muutan esittämääni?
Toinen kumoamistyyppi koskee esitysaluettasi. Tämä sisältää muutokset, jotka teet arkiston vieressä. Jos olet asettanut tiedoston version ja myöhemmin päätät, että et halua sisällyttää sitä seuraavaan toimitukseen, sinun on ensin poistettava sen vaiheistus.
Voit käyttää git reset komento vaiheittaisen tiedoston näyttämisen poistamiseksi:
git reset HEAD polku/to/tiedosto
Voinko kumota paikalliset muutokset nopeasti?
Kyllä, voit kumota paikalliseen tiedostoon tehdyt muutokset ennen kuin se on lavastettu. Käytä seuraavaa komentoa:
git checkout -- polku/tiedosto/tiedosto
Huomaa, että tämä on samanlainen kuin arkiston muutoksen palauttaminen, se jättää vain toimitustunnuksen pois. Kun suoritat tämän komennon, Git kumoaa kaikki työkopioosi tehdyt muutokset.
Entä git-palautus?
Gitin myöhemmissä versioissa on uudempi komento: palauttaa. Tässä käsitellyissä yksinkertaisissa tapauksissa voit käyttää seuraavia vastineita. Voit kumota arkiston muutoksen seuraavasti:
git return --source [commit id] polku/tiedostoon
Voit poistaa tiedoston vaiheen seuraavasti:
git return --vaiheinen polku/tiedostoon
Ja työkopion muutosten kumoaminen:
git palautuspolku/to/tiedosto
Gitin versiovoiman hallitseminen on korvaamatonta
Vaikka tiedoston nollaus saattaa tuntua tavalliselta tehtävältä, huomaat, että se tapahtuu käytännössä melko harvoin. On todennäköisempää, että peruutat kokonaisia sitoumuksia yksittäisten tiedostojen sijaan. Kuitenkin silloin, kun sinun on tehtävä niin, Git tekee siitä ainakin melko suoraviivaisen.
Käytä näitä Git-komentoja suorittaaksesi toimintoja, kuten tiedoston poistamista vahvistuksesta.
Lue Seuraava
- Ohjelmointi
- GitHub
- Verkkokehitys
- Ohjelmointi

Bobby on teknologian harrastaja, joka työskenteli ohjelmistokehittäjänä useimmat kaksi vuosikymmentä. Hän on intohimoinen pelaamiseen, työskentelee Switch Player -lehden päätoimittajana ja on uppoutunut kaikkiin verkkojulkaisemiseen ja verkkokehitykseen.
tilaa uutiskirjeemme
Liity uutiskirjeemme saadaksesi teknisiä vinkkejä, arvosteluja, ilmaisia e-kirjoja ja eksklusiivisia tarjouksia!
Klikkaa tästä tilataksesi