Junior
Kuidas tühistada viimane commit versioonikontrollisüsteemis?
sobes.tech AI
Vastus AI-lt
On mitu viisi, kuidas viimast commit'i tühistada, sõltuvalt sellest, kas see on saadetud kaugdeposse ja mis on tühistamise eesmärk.
-
Kohaliku commit'i tühistamine ilma failide muutmiseta (soft reset):
git reset --soft HEAD~1 # Tagastab HEAD ühe commit'i võrra tagasi, muudatused jäävad indeksisse (staged). -
Kohaliku commit'i tühistamine, jätmata muudatusi töökaustas (mixed reset - vaikimisi):
git reset HEAD~1 # Tagastab HEAD ühe commit'i võrra tagasi. Muudatused jäävad töökausta (unstaged). -
Täielik kohaliku commit'i tühistamine, kaasa arvatud muudatuste kustutamine töökaustast ja indeksist (hard reset):
git reset --hard HEAD~1 # Tagastab HEAD ühe commit'i võrra tagasi ja tühistab kõik kohalikud muudatused. Hoiatus! Andmete kaotsimine. -
Juba kaugdeposse saadetud commit'i tühistamine, luues uue commit'i, mis tühistab eelnevad muudatused:
git revert HEAD # Loob uue commit'i, mis pöörab tagasi viimase commit'i muudatused. Turvaline avalike harude jaoks.
Meetodi valik sõltub olukorrast. Avalike harude puhul on soovitatav kasutada git revert, kuna see ei muuda commit'i ajalugu. Kohalike muudatuste või üksinda töötavate harude puhul võib kasutada git reset.