Reset ja revert

Reset vs Revert

Reset ja revert on käsud Git-is muudatuste tagasivõtmiseks.

Peamine erinevus seisneb selles, millise jälje nad endast maha jätavad ning seeläbi projekti ajalugu mõjutavad.

Git Reset

Git reset on justkui aja tagasikeeramine - sellega liigutakse tagasi mingi kindla commit-i juurde. Täpsemalt liiguvad haru pointer (viide viimasele commit-ile mingi kindla haru ajaloos) ja HEAD (viide viimasele commit-ile selles harus, kus parasjagu töötad).

Git reset-i saab teha kolmel erineval viisil:

  • Soft reset (--soft)

Giti soft reset on tehtud muudatuste tagasivõtmiseks ja konkreetse commit-i juurde naasmiseks, säilitades tehtud muudatused. See liigutab pointer-i ja HEAD-i valitud kohta, kuid jätab sinu muudatused staged* olekusse.

*Staged muudatused on sellised, mis on küll salvestatud, aga mida pole veel commit-itud. Muudatuste stage’imiseks kasutatakse git add käsku.

  • Mixed reset (vaikimisi)

Selle käsuga liigutatakse pointer-it ja HEAD-i ning staged staatuses olevad muudatused pole enam staged olekus. Varem staged olekus olnud failid küll säilitavad oma muudatused, aga need peab peale reset-i uuesti git add abil stage’ima.

See on kasulik olukorras, kus tahad muudatused tühistada, aga siiski hoida need enda töökataloogis.

  • Hard reset (--hard)

Selle käsuga liiguvad pointer ja HEAD, tühjendatakse staging area ja tühistatakse kõik muudatused töökataloogis. Lühidalt - kustutatakse kõik commit-imata muudatused.

Git revert

Git revert on justkui turvalisem versioon git reset-ist. See loob uue commit-i, et tühistada mingi varasema commit-i poolt sisse toodud muudatused.

Erinevalt git reset-ist ei muuda (kirjuta üle) revert ajalugu, vaid hoopis lisab sellele.

Kokkuvõte

../../_images/resetrevert.png

Git reset

  • Kasuta git reset-i, kui soovid harus tehtud muudatused tühistada.

  • See on kasulik, kui oled teinud vea või kui soovid puhtalt lehelt alustada.

Git revert

  • Kasuta git revert-i, kui soovid tagasi võtta repos tehtud muudatusi.

  • See on kasulik, kui oled commit-is teinud vea või kui tahad muuta seda, kuidas commit tehtud on.

Praktiline ülesanne

Selleks, et uusi teadmisi süvendada tee kindlasti läbi samateemaline praktiline ülesanne siin.

Kasutatud materjalid