Versioonikontrolli tarkvarana muudab Git muudatuste tagasipööramise prognoositavalt lihtsaks. Kuid isegi muudatuse tagasivõtmise kontseptsioon on keerulisem, kui esmapilgul arvata võiks. Giti hoidla ei ole päris sama, mis failid, millega te kohapeal töötate. Muudatuste tagasivõtmine tähendab, et kaaluge täpselt, kus soovite need tagasi võtta.
gitkassasse, git lähtestamine, ja gittaastama on käsud, mis aitavad teil naasta mitte ainult koodibaasi, vaid ka üksikute failide eelmisele versioonile. Õppige tundma nende käskude üksikasju ja hüppate kiiresti oma failiajaloos ringi nagu ekspert.
Mida faili lähtestamine ikkagi tähendab?
Oluline on märkida, et faili lähtestamine võib erinevatel asjaoludel erinevatele inimestele tähendada erinevaid asju. Samuti, git lähtestamine käsk ei pruugi vastata teie ootustele lähtestamise tähenduse osas.
Mõnikord soovite kohalikud muudatused tagasi võtta, et fail oleks praeguse hoidlaga uuesti sünkroonitud. Muudel juhtudel võite soovida tagasi võtta muudatused, mille olete hoidlas juba teinud.
Erinevuste mõistmiseks on võtmetähtsusega järgmised terminid: tööpuu, lavastusala ja hoidla. Kohalikult redigeeritavad failid kuuluvad tööpuusse. Sisestatud failid jõuavad lõpuks hoidlasse. Kui kogute muudatusi, lavastate failid. Fail võib kõigis nendes asukohtades olla erineva sisuga.
Vaata ka: Advanced Git Tutorial
Võite mõelda faili lähtestamisele kui muudatuste tühistamisele. Kuid teie faili olek määrab, milliseid muudatusi te tegelikult tagasi võtate. Ilmselge juhtum on see, kui teete mõned muudatused, teete need sisse ja otsustate hiljem, et te ei soovi neid enam.
Teine juhtum võib olla see, et lavastasite faili ja soovite selle nüüd lavastada.
Kuidas ma saan varem sisestatud faili tagasi kerida?
Käsitleme juhtumit, millest on lihtsam aru saada: sisestasite faili ja soovite nüüd selle muudatused tagasi võtta.
Giti käsk selle tegemiseks on mõneti ebaintuitiivselt nimetatud kassasse. Võib-olla kasutasite kassasse harude vahetamiseks, kuid see on väike osa sellest, mida käsk suudab teha. Samuti võimaldab see värskendada oma tööpuu faile, et need vastaksid hoidla ajaloo mis tahes punktile. Saate seda teha konkreetse sildi, haru või isegi konkreetse kohustuse jaoks.
Selle käsu kõige kasulikum üldotstarbeline vorm on:
git checkout [commit ID] -- tee/failile
Siin läbime kindlat rada (tee/failile), mis tuvastab ainult ühe faili. Samuti täpsustame sissekande ID-d, et saada fail sellisena, nagu see selle konkreetse kinnistamise ajal eksisteeris. See käsk värskendab faili ainult meie tööpuus.
Pange tähele, et faili varasema versiooni kontrollimine muudab töökoopiat ilma seda sidumata või isegi lavastamata. Hoidla tagasivõtmise täielikuks lõpuleviimiseks peate faili lavastama ja looma uue sissekande.
Vaata ka: Kuidas kontrollida projekti ajalugu git logi abil
Kuidas muuta seda, mida ma lavastan?
Teist tüüpi tagasivõtmine hõlmab teie lavastusala. See sisaldab muudatusi, mille teete hoidla kõrval. Kui olete koostanud faili versiooni ja otsustate hiljem, et te ei soovi seda järgmisesse sissekandmisse kaasata, peaksite selle esmalt tühistama.
Saate kasutada git lähtestamine käsk etapiviisilise faili eemaldamiseks:
git lähtestamine HEAD tee/to/fail
Kas ma saan kohalikud muudatused kiiresti tagasi võtta?
Jah, saate kohaliku faili muudatused tagasi võtta enne, kui see on lavastatud. Kasutage järgmist käsku:
git checkout -- tee/failile
Pange tähele, et see sarnaneb hoidla muudatuse tagasipööramisega, see jätab lihtsalt sissekandmise ID välja. Kui olete selle käsu täitnud, tühistab Git kõik teie töökoopia muudatused.
Kuidas on lood giti taastamisega?
Giti hilisematel versioonidel on uuem käsk: taastama. Siin käsitletud lihtsate juhtumite puhul võite kasutada järgmisi vasteid. Hoidlas tehtud muudatuse tagasivõtmiseks toimige järgmiselt.
git taastamine --source [commit id] tee/failile
Faili eemaldamiseks kasutage järgmist.
git taastamine -- etapiviisiline tee/failile
Ja töökoopia muudatuste tagasivõtmiseks tehke järgmist.
git taastamise tee/to/fail
Giti versioonimisvõime valdamine on hindamatu väärtusega
Kuigi faili lähtestamine võib tunduda tavaline tegevus, juhtub seda praktikas üsna harva. On tõenäolisem, et tühistate üksikute failide asemel terved kohustused. Kuid juhtudel, kui peate seda tegema, teeb Git selle vähemalt üsna lihtsaks.
Kasutage neid Git-käske selliste toimingute tegemiseks nagu faili eemaldamine kinnipidamisest.
Loe edasi
- Programmeerimine
- GitHub
- Veebiarendus
- Programmeerimine
Bobby on tehnoloogiaentusiast, kes töötas tarkvaraarendajana enamuse kaks aastakümmet. Ta on kirglik mängude vastu, töötab ajakirja Switch Player peatoimetajana ning on sukeldunud kõigisse veebiavaldamise ja veebiarenduse aspektidesse.
Liituge meie uudiskirjaga
Liituge meie uudiskirjaga tehniliste näpunäidete, arvustuste, tasuta e-raamatute ja eksklusiivsete pakkumiste saamiseks!
Tellimiseks klõpsake siin