Junior
Kuidas tühistada viimane commit versioonihaldussüsteemis?
sobes.tech AI
Vastus AI-lt
Kui kasutate Git-i, on mitu võimalust:
1. Viimase commit-i tühistamine, säilitades muudatused:
git reset --soft HEAD~1
# Tühistab viimase commit-i, indeksitud muudatused jäävad alles
# Töökaust ei muutu
2. Viimase commit-i tühistamine, indeksitud muudatused tühistada, kuid töö muudatused säilitada:
git reset --mixed HEAD~1
# Tühistab viimase commit-i ja eemaldab muudatuste indekseerimise
# Töökaust ei muutu
3. Täielik viimase commit-i tühistamine, kaasa arvatud muudatused:
git reset --hard HEAD~1
# Täielik viimase commit-i tühistamine
# Indeksitud muudatused ja töökaust naasevad enne viimast commit-i olekusse
# Kõik salvestamata muudatused töökaustas kaovad
4. Uue commit-i loomine, mis tühistab viimase muudatused:
git revert HEAD
# Loob uue commit-i, mis tühistab viimase commit-i muudatused
# Ajalugu säilib, see on turvaline viis avalike harude töötamisel
Valik sõltub soovitud tulemusest ja sellest, kas haru on avaldatud. --hard tuleks kasutada ettevaatusega, kuna see võib põhjustada andmekao. git revert on eelistatud, kui töötate teiste arendajate kasutatavate harudega.